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

时间:2017-01-21 00:21:50

标签: java regex format

我有一个这样的字符串:

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

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

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

我尝试过的事情:

  1. 我在网上搜索并试图使用正则表达式和模式和匹配器,但都没有成功。
  2. 我试图根据,拆分它们,但显然,格式不正确,介于两者之间。看起来需要一些预格式化吗?
  3. 有什么想法吗? 非常感谢!

1 个答案:

答案 0 :(得分: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());
    }
}

打印:

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