我有一个像下面这样的字符串 -
value1, value2, value3, value4, "value5, 1234", value6, value7, "value8", value9, "value10, 123.23"
如果我对上面的字符串进行分词,我会得到逗号分隔的分词。但我想对字符串分词器说,在拆分时忽略双引号后的逗号。我怎么能这样说呢?
提前致谢
沙市
最佳答案
使用像 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
}
关于java - 字符串分词器 : split string by comma and ignore comma in double quotes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19241010/