如何在拆分字符串时避免追踪删除的空项目?

use*_*308 9 ruby

我在做:

"b::::c:::".split(':')
Run Code Online (Sandbox Code Playgroud)

结果:

["b", "", "", "", "c", "", ""] # expect
["b", "", "", "", "c"] # actual
Run Code Online (Sandbox Code Playgroud)

这里有什么问题?我怎么能得到我所期望的.

Rus*_*Cam 21

有一个limit参数.split(pattern=$;, [limit]).如果limit省略,则禁止尾随空字段.你需要提供负面的limit

"b::::c:::".split(':', -1) 
Run Code Online (Sandbox Code Playgroud)

但请记住,这将""在数组末尾返回三个值.

result: ["b", "", "", "", "c", "", "", ""] 
Run Code Online (Sandbox Code Playgroud)