Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 基于给定的delimeter分割字符串,忽略双quted部分_Java_String_Csv_Split_Delimiter - Fatal编程技术网

Java 基于给定的delimeter分割字符串,忽略双quted部分

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

我需要根据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中的CSVParser

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

CSVFormat.EXCEL
这将是实现以下目标的捷径:

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