根据给定的定界符拆分字符串,忽略双引号部分
Split the string based on given delimeter ignoring double quted part
我需要根据分隔符将字符串拆分为子字符串。
这是一个代码:
String[] fields = line.split(Pattern.quote(CSV_DELIMITER)); //CSV_DELIMITER=","
我得到以下行“1234,"dfd, ddss",35345”
预期是结果将有 3 个字段:1234、"dfd, ddss"、35345,但它有 4 个:1234、dfd、ddss、35345
我该如何解决? (双引号内的内容不要拆分)
使用 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)
我需要根据分隔符将字符串拆分为子字符串。 这是一个代码:
String[] fields = line.split(Pattern.quote(CSV_DELIMITER)); //CSV_DELIMITER=","
我得到以下行“1234,"dfd, ddss",35345” 预期是结果将有 3 个字段:1234、"dfd, ddss"、35345,但它有 4 个:1234、dfd、ddss、35345 我该如何解决? (双引号内的内容不要拆分)
使用 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)