如何将包含多组字符串的String拆分为Java中的Set集合

时间:2016-07-25 17:41:49

标签: java string

我有一个包含多组字符串的String,每个组都用括号{}括起来。每个组用逗号分隔,每个带有组的字符串也用逗号分隔。格式如下:

vertical-align:baseline;

我想要做的是将每个组放入一个HashSet,另一个HashSet包含所有这些集合,如:

  {abc,  def}, {006,  xy,  036}, {......}

我现在能想到的是迭代原始字符串中的每个字符并将其添加到集合中。但我想知道是否有其他方法可以做到这一点,或者Java是否有一些API可以实现这一目标。非常感谢!

1 个答案:

答案 0 :(得分:2)

    String str="{abc,  def}, {006,  xy,  036}";
    Pattern p = Pattern.compile("\\{(.*?)\\}");
    Matcher m = p.matcher(str);
    while (m.find()) {
      System.out.println(m.group(1));
    }

它会给你像

这样的值
  

abc,def
  006,xy,036

现在你可以继续将它相应地添加到字符串数组或地图中,这是一个黑客攻击。