我需要根据分隔符将字符串拆分为子字符串。 这是一个代码:
String[] fields = line.split(Pattern.quote(CSV_DELIMITER)); //CSV_DELIMITER=","
我得到以下行“1234,”dfd,ddss“,35345” 预期是结果将有3个字段:1234,“dfd,ddss”,35345,但它有4:1234,dfd,ddss,35345 我怎么解决这个问题? (双引号内容不应拆分)
答案 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)