我试图解析一个逗号分隔字符串中使用:如何解析带引号的某些项目的逗号分隔线(CSV)?
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](https://github.com/tototoshi/scala-csv)和[traversable-csv](http://labs.encoded.io/2012/04/09/reading -csv-文件正在斯卡拉最穿越的路/)。或者使用像[opencsv](http://opencsv.sourceforge.net/)这样的Java库。 – Shadowlands
否则,如果你不想或不能使用一个库,你可以看看[这个SO答案](http://stackoverflow.com/questions/5063022/use-scala-parser-combinator-to-解析 - csv文件/ 5063652#5063652)或[this SO answer](http://stackoverflow.com/questions/32488364/whats-a-simple-scala-only-way-to-read-in-and-then -write-out-a-small-csv-file/32488453#32488453)查看其他人如何解决自己的CSV分析器问题。 – Shadowlands
@Shadowlands您能否在回答中总结您的意见(因为我认为您已经展示了许多有价值的方法,其他人可以从中受益。)Thx。 –