0

我正在尝试使用正则表达式分隔 csv 文件值,问题是句子周围有引号,而我尝试过的正则表达式似乎没有正确执行。

"All's Well, Ends Well 2012",Comedy

这是 CSV 中包含的字符串之一,我尝试用很多不同的正则表达式语句将其分隔,但它只返回整个字符串而不将其分隔。

关于我可以使用的正则表达式的任何建议或解决方法?

4

2 回答 2

4

最好的建议是使用 CVS 解析器,例如http://opencsv.sourceforge.net/,正则表达式不是解析 CSV 的最佳选择

于 2013-08-02T12:39:59.243 回答
1

split()仅当输入的其余部分中出现偶数个引号时,才使用以逗号分隔的正则表达式:

String[] parts = line.split(",(?=(([^\"]*\"){2})*[^\"]*$)");

在 ideone 上的实时演示中查看此代码执行

于 2013-08-02T12:43:37.383 回答