[英]how to split the String using comma,but with out any in {…}'s commas
String filterPath="aa.bb.cc{k1:v1,k2:{s1:s2}},bb.cc,ee.dd";
String[] result=filterPath.split(",");
for(String r:result){
System.out.println(r);
}
我想分割String filterPath
,但在{...}中filterPath
用逗号分隔:
aa.bb.cc{k1:v1,k2:{s1:s2}}
bb.cc
ee.dd
感谢帮助。
这是一种方法:
String filterPath = "aa.bb.cc{k1:v1,k2:{s1:s2}},bb.cc,ee.dd";
List<String> result = new ArrayList<String>();
StringBuilder build = new StringBuilder();
int skip = 0;
for (char c : filterPath.toCharArray()) {
if (c == ',' && skip == 0) {
result.add(build.toString());
build = new StringBuilder();
continue;
}
if (c == '{') {
skip++;
} else if (c == '}') {
skip--;
}
build.append(c);
}
result.add(build.toString());
for (String r : result) {
System.out.println(r);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.