正则表达式拆分包含引号的CSV字符串

时间:2019-02-28 20:41:01

标签: java regex

我有一个看起来像这样的CSV字符串:

"DOE, JOHN W", "35", "$12,945", "M"

我正在使用Java,因此通常我只用逗号作为分隔符来分隔csv。但是,由于某些值中包含逗号,因此我需要一种不同的方式来分割字符串。我对正则表达式完全没有经验,所以想知道是否有人提出建议。

谢谢!

2 个答案:

答案 0 :(得分:2)

虽然我同意其他评论,但最好的选择是使用CSV库,但在某些情况下,您可能仍需要用正则表达式解析逗号分隔的字符串。对于这种情况,下面的正则表达式应该起作用。

"([^"]+)"

此正则表达式将匹配引号内所有非引号的字符。

Demo

答案 1 :(得分:1)

尝试此正则表达式(也许)

([^\",\s][^\"]*)