Scala拆分行为:连续发生拆分模式

0fn*_*fnt 2 string split scala

使用Scala的标准String库:

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

Array(a) , 并不是

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

正如人们所料.有没有办法强迫这个?

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

Array( a, "", "", "", b ) 这很好.

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

rtr*_*szk 7

在方法文档中,split我们可以阅读:

因此,结尾的空字符串不包含在结果数组中.

但您可以使用split附加limit参数的方法.例如:

"a,,,".split( "," ,-1)
Run Code Online (Sandbox Code Playgroud)

将负数设置为limit参数将导致该模式将被应用尽可能多的次数.

这里了解详细信息