在Scala中使用尾随位置的分隔符拆分字符串

在Scala中使用尾随位置的分隔符拆分字符串,scala,Scala,方法split不处理尾部位置的分离器 @ "a-b-".split("-") res9: Array[String] = Array("a", "b") 但是,我希望Array(“a”、“b”和“”) 有没有办法解决这个问题?您可以将附加参数limit传递给函数(默认为零): : limit参数控制填充图案的次数 应用,因此会影响结果数组的长度。如果 极限n大于零,则模式将应用于 大多数情况下,数组的长度将不大于n,并且 数组的最后一个条目将包含最后一个匹配项之外的所有输入 定界符如果n为非正

方法
split
不处理尾部位置的分离器

@ "a-b-".split("-")
res9: Array[String] = Array("a", "b")
但是,我希望
Array(“a”、“b”和“”)


有没有办法解决这个问题?

您可以将附加参数
limit
传递给函数(默认为零):

:

limit参数控制填充图案的次数 应用,因此会影响结果数组的长度。如果 极限n大于零,则模式将应用于 大多数情况下,数组的长度将不大于n,并且 数组的最后一个条目将包含最后一个匹配项之外的所有输入 定界符如果n为非正,则模式将应用为 尽可能多次,数组可以有任意长度。如果n为零 然后,阵列将尽可能多次应用该模式 可以有任何长度,尾随的空字符串将被丢弃


在Scala 2.12中,我找不到具有第二个参数的拆分。我遗漏了什么吗?这不是scala方法。请参阅文章中的链接,这是一个java方法。
scala> "a-b-".split("-", -1)
res3: Array[String] = Array(a, b, "")

scala> "-----".split("-", -1)
res4: Array[String] = Array("", "", "", "", "", "")