根据给定的分隔符拆分字符串,忽略双重部分

时间:2015-12-05 14:59:38

标签: java string csv split delimiter

我需要根据分隔符将字符串拆分为子字符串。 这是一个代码:

String[] fields = line.split(Pattern.quote(CSV_DELIMITER)); //CSV_DELIMITER=","

我得到以下行“1234,”dfd,ddss“,35345” 预期是结果将有3个字段:1234,“dfd,ddss”,35345,但它有4:1234,dfd,ddss,35345 我怎么解决这个问题? (双引号内容不应拆分)

1 个答案:

答案 0 :(得分:0)

使用Apache Commons的CSVParser。

它可以处理包含分隔符的字段(以及更多):

https://commons.apache.org/proper/commons-csv/

CSVFormat.withDelimiter(',').withQuote('"')

CSVFormat.EXCEL      将是一个捷径:

 CSVFormat
 .withDelimiter(',')
 .withQuote('"')
 .withRecordSeparator("\r\n")
 .withIgnoreEmptyLines(false)
 .withAllowMissingColumnNames(true)