我正在尝试使用以下方法解析逗号分隔的字符串:
val array = input.split(",")
然后我注意到一些输入行在引号内有“,”:
data0, "data1", data2, data3, "data4-1, data4-2, data4-3", data5
*请注意,数据不是很干净,所以有些字段在引号内,有些则没有
如何将这样的行拆分为:
array(0) = data0
array(1) = data1
array(2) = data2
array(3) = data3
array(4) = data4-1, data4-2, data4-3
array(5) = data5
最佳答案
根据我的评论:
解析 CSV 文件可能非常棘手,因为它围绕引号、逗号和引号包含在引号中。我建议引入一个库,该库被认为可以稳健地处理所有边缘情况。
您可以考虑的选项包括 scala-csv , 和 traversable-csv .或者使用类似 opencsv 的 Java 库.
否则,如果您不想或不能使用图书馆,您可以查看 this SO answer或 this SO answer了解其他人如何处理自己的 CSV 解析器。
关于java - 如何解析带有引号中的某些项目的逗号分隔行(CSV)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32803687/