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
使用 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