如何在Java中基于{}拆分字符串

Fis*_*der 0 java regex format

我有一个像这样的字符串:

"[{1000, 500, 1}, {1001, 501, 1}, {1002, 501, 2}]" (这不仅仅是数字,也可能是人物.)

我怎样才能将它分成三个部分: {1000, 500, 1} {1001, 501, 1} {1002, 501, 2}

第二步:将每个新子字符串拆分为自己的字段,例如{1000, 500, 1},进入1000,500 1.

我试过的事情:

  1. 我在网上搜索并尝试使用正则表达式和模式和匹配器,但都没有成功.
  2. 我试图基于,它来拆分它们,但显然,它的格式不是很好,中间有空间.看起来需要一些预格式化吗?

有什么想法吗?非常感谢!

Mal*_*alt 5

你可以使用这个正则表达式: {\\{[0-9, ]+\\}

public static void main(String[] args) {
    String string = "[{1000, 500, 1}, {1001, 501, 1}, {1002, 501, 2}]";
    Matcher m = Pattern.compile("\\{[0-9, ]+\\}").matcher(string);
    while(m.find()){
        System.out.println(m.group());
    }
}
Run Code Online (Sandbox Code Playgroud)

打印:

{1000, 500, 1}
{1001, 501, 1}
{1002, 501, 2}
Run Code Online (Sandbox Code Playgroud)