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

"[{1000, 500, 1}, {1001, 501, 1}, {1002, 501, 2}]"
(不仅是数字,还可以是字符。)

如何将其分为三个部分:
{1000, 500, 1}
{1001, 501, 1}
{1002, 501, 2}

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

我尝试过的事情:


我已经在网上搜索并尝试使用Regex和Pattern and Matcher,但都没有解决。
我曾尝试根据,拆分它们,但显然格式不正确,两者之间有空格。看起来需要一些预格式化吗?


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

最佳答案

您可以使用以下正则表达式:{\\{[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());
    }
}


印刷品:

{1000, 500, 1}
{1001, 501, 1}
{1002, 501, 2}

10-07 15:44