Java正则表达式:拆分逗号分隔的值,但忽略引号中的逗号

我的文字如下:

"text","1","more, more text","3"

谁能告诉我我必须使用哪些正则表达式分度数才能获得以下结果:

text

1

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

回到顶部