2015-02-12 74 views
2

连续发生使用Scala的标准String库:斯卡拉分裂行为:拆分模式

"a,,,".split(",")

Array(a),而不是

Array(a, "", "", "")

正如人们所期望的那样。有什么办法可以强制这个吗?

"a,,,b".split(",")

Array(a, "", "", "", b)这是罚款。

如果这是一个错误,我会感到惊讶,那么是否有人了解这种行为背后的声称的逻辑?

回答

7

split方法的documentation我们可以看到:因此

尾随空字符串中不包括所得到的阵列英寸

但是,您可以使用split方法和其他limit参数。例如:

"a,,,".split("," ,-1) 

设置负数如limit参数将导致图案将尽可能多的次数尽可能来施加。

查看here的详情