Java正则表达式:拆分逗号分隔的值,但忽略引号中的逗号
我的文字如下:
"text","1","more, more text","3"
谁能告诉我我必须使用哪些正则表达式分度数才能获得以下结果:
text1
more, more text
3
我在这里阅读Sun教程,直到“
Matcher类的方法”为止,但我仍然茫然。谢谢!
如果是这样,text,1,more
那将很容易,但是不幸的是,事实并非如此。有任何想法吗?
回答:
您可以直接使用split()方法,如下所示:
String text = "\"text\",\"1\",\"more, more text\",\"3\""; String[] split = text.split("\"(,\")?");
for (String string : split) {
System.out.println(string);
}
(请注意,这将返回长度为5的数组,第一个位置为空字符串)
或者,如果您想使用模式/匹配器,可以这样做:
Pattern pattern = Pattern.compile("\"([^\"]+)\""); Matcher matcher = pattern.matcher(text);
while(matcher.find()){
System.out.println(matcher.group(1));
}
以上是 Java正则表达式:拆分逗号分隔的值,但忽略引号中的逗号 的全部内容, 来源链接: utcz.com/qa/414882.html