Scala 拆分行为:连续出现拆分模式

Scala split behaviour: consecutive occurrence of split pattern

使用 Scala 的标准 String 库:

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

Array(a),而不是

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

如人们所料。有什么办法可以强制执行此操作吗?

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

Array( a, "", "", "", b ) 很好。

如果这是一个错误,我会感到惊讶,所以有人理解这种行为背后的所谓逻辑吗?

split方法的documentation中我们可以读到:

Trailing empty strings are therefore not included in the resulting array.

但是您可以使用带有附加 limit 参数的 split 方法。例如:

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

将负数设置为 limit 参数将导致尽可能多地应用该模式。

详情见here