方法split
不处理尾随位置的分隔符。
@ "a-b-".split("-")
res9: Array[String] = Array("a", "b")
但是,我希望Array("a", "b", "")
有什么方法可以解决这个问题吗?
答案 0 :(得分:3)
您可以将附加参数limit
传递给该函数(默认情况下为零):
scala> "a-b-".split("-", -1)
res3: Array[String] = Array(a, b, "")
scala> "-----".split("-", -1)
res4: Array[String] = Array("", "", "", "", "", "")
limit参数控制模式的次数 应用因此会影响结果数组的长度。如果 限制n大于零,那么模式将应用于 大多数n - 1次,数组的长度不会大于n,并且 数组的最后一个条目将包含除最后一个匹配之外的所有输入 分隔符。 如果n为非正数,则该模式将应用为 尽可能多次,数组可以有任何长度。如果n为零 那么模式将尽可能多地应用于数组 可以有任何长度,尾随空字符串将被丢弃。