字符串拆分与多个结束分隔符

Psi*_*dom 5 string split scala

我试图解析一个csv文件,其中一些行可能有缺少字段,我发现这种奇怪的行为:

scala> val s = "1,2,,,"
s: String = 1,2,,,

scala> s.split(",")
res4: Array[String] = Array(1, 2)
Run Code Online (Sandbox Code Playgroud)

虽然我期待结果Array(1,2,"","","").我错过了什么吗?如果没有,这种行为的理由是什么?

jwv*_*wvh 3

这种行为是从 Java继承的。Java 替代split()方法也被继承,但没有完整记录。

scala> val s = "1,2,,,"
s: String = 1,2,,,

scala> s.split(",", -1)
res0: Array[String] = Array(1, 2, "", "", "")
Run Code Online (Sandbox Code Playgroud)