将字符串与引号

时间:2017-04-25 22:09:57

标签: java matcher quote

我试图将带有comas的字符串与Matcher分开,但是当字符串中包含引号时,dosn正确分开,我有以下字符串:

String s = "\"\"\"Lili,Carl\"\"\",Jimenez,11,38";

这应该这样划分:

  • "利利,卡尔"
  • Jimenez的
  • 11
  • 38

我已经尝试过这个匹配器了:

Matcher m = Pattern.compile("\"[^\"]*\"|[^,]+").matcher(s);

       while (m.find()){
           System.out.println(m.group());
       }

但我得到的结果是:

  • ""
  • "利利,卡尔"
  • ""
  • Jimenez的
  • 11
  • 38

知道怎么解决吗?

1 个答案:

答案 0 :(得分:0)

匹配器的第一部分不是必需的,使用以下代码:

String s = "\"Li,li\",Jimenez,11,38";
    Matcher m = Pattern.compile("[^,]+").matcher(s);

       while (m.find()){
           System.out.println(m.group());
       }
  }

输出是:

"Li
li"
Jimenez
11
38

如果我理解那应该是输入S的输出