Java 基于给定的delimeter分割字符串,忽略双quted部分
我需要根据delimeter将字符串拆分为子字符串。 下面是一个代码:Java 基于给定的delimeter分割字符串,忽略双quted部分,java,string,csv,split,delimiter,Java,String,Csv,Split,Delimiter,我需要根据delimeter将字符串拆分为子字符串。 下面是一个代码: 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中的CS
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 它可以处理包含分隔符(以及更多)的字段:
CSVFormat.EXCEL
这将是实现以下目标的捷径:
CSVFormat
.withDelimiter(',')
.withQuote('"')
.withRecordSeparator("\r\n")
.withIgnoreEmptyLines(false)
.withAllowMissingColumnNames(true)
CSVFormat
.withDelimiter(',')
.withQuote('"')
.withRecordSeparator("\r\n")
.withIgnoreEmptyLines(false)
.withAllowMissingColumnNames(true)