java - 使用 String.split() 将带有引号的 csv 文件拆分为文本分隔符

标签 java csv split

我有一个逗号分隔的文件,其中包含许多类似于下面的行。

Sachin,,M,"Maths,Science,English",Need to improve in these subjects.

引号用于转义用于表示多个值的分隔符逗号。

如果可能的话,现在如何使用 String.split() 在逗号分隔符上拆分上述值?

最佳答案

public static void main(String[] args) {
    String s = "Sachin,,M,\"Maths,Science,English\",Need to improve in these subjects.";
    String[] splitted = s.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
    System.out.println(Arrays.toString(splitted));
}

输出:

[Sachin, , M, "Maths,Science,English", Need to improve in these subjects.]

关于java - 使用 String.split() 将带有引号的 csv 文件拆分为文本分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15738918/

相关文章:

java - String 和 HashSet 之间用于检查重复项的最佳(性能 + 内存)是什么

Java通过反射创建枚举实例

python - 打开并读取以空格分隔的 txt 文件

sql-server-2008 - SQL Server : Split operation

Java分割包含多个xml文件的xml字符串,同时保留模式

java - 使用 Scala 的 poi-ooxml-schemas-3.9.jar 的 Sbt 编译错误

java - javax.persistence.Table.indexes()[Ljavax/persistence/Index 中的 NoSuchMethodError

Javascript 导出 CSV 编码 utf-8 问题

c - 使用 ANSI 函数获取文本文件的特定行

python - 如何将字符串拆分为单词列表?