String Tokenizer:用逗号分隔字符串,用双引号忽略逗号

Sha*_*shi 6 java regex string

我有一个像下面的字符串 -

value1,value2,value3,value4,"value5,1234",value6,value7,"value8",value9,"value10,123.23"

如果我在上面的字符串上标记,我就会得到逗号分隔的标记.但是我想在进行拆分时用双引号后的字符串标记器忽略逗号.我该怎么说呢?

提前致谢

沙市

Rav*_*yal 6

使用像OpenCSV这样的CSV解析器来处理引用元素中的逗号,自动跨越多行等的值.您也可以使用该库将文本序列化为CSV格式.

String str = "value1, value2, value3, value4, \"value5, 1234\", " +
        "value6, value7, \"value8\", value9, \"value10, 123.23\"";

CSVReader reader = new CSVReader(new StringReader(str));

String [] tokens;
while ((tokens = reader.readNext()) != null) {
    System.out.println(tokens[0]); // value1
    System.out.println(tokens[4]); // value5, 1234
    System.out.println(tokens[9]); // value10, 123.23
}
Run Code Online (Sandbox Code Playgroud)