我对Java有点陌生。我想知道是否有一种更简单有效的方法来实现以下字符串拆分。我已经尝试过使用模式和匹配器,但并没有真正按照我想要的方式出现。
"{1,24,5,[8,5,9],7,[0,1]}"
分为:
1
24
5
[8,5,9]
7
[0,1]
这是一个完全错误的代码,但我还是发布了它:
String str = "{1,24,5,[8,5,9],7,[0,1]}";
str= str.replaceAll("\\{", "");
str= str.replaceAll("}", "");
Pattern pattern = Pattern.compile("\\[(.*?)\\]");
Matcher matcher = pattern.matcher(str);
String[] test = new String[10];
// String[] _test = new String[10];
int i = 0;
String[] split = str.split(",");
while (matcher.find()) {
test[i] = matcher.group(0);
String[] split1 = matcher.group(0).split(",");
// System.out.println(split1[i]);
for (int j = 0; j < split.length; j++) {
if(!split[j].equals(test[j])&&((!split[j].contains("\\["))||!split[j].contains("\\]"))){
System.out.println(split[j]);
}
}
i++;
}
}
对于给定的字符串格式,可以说 {a,b,[c,d,e],...} 格式。我想列出所有内容,但方括号中的内容将被表示为一个元素(如数组)。