Java Regex for,后面没有空格

时间:2013-08-02 12:37:05

标签: java regex csv

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

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

这是CSV中包含的字符串之一,我尝试将它与很多不同的正则表达式语句分开,但它只是在不分离的情况下返回整个字符串。

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

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

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

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

请参阅此代码在live demo on ideone

中执行