我試圖解析一個逗號分隔字符串中使用:如何解析帶引號的某些項目的逗號分隔線(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。 –