相关疑难解决方法(0)

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

我在做:

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

结果:

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

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

ruby

9
推荐指数
1
解决办法
301
查看次数

拆分开始和结束时的空字符串

可能重复:
Ruby中的拆分问题

在Ruby中,当我使用与字符串开头匹配的分隔符拆分字符串时,它会在数组的初始位置给出一个空字符串:

"abc".split(/a/) # => ["", "bc"]
Run Code Online (Sandbox Code Playgroud)

但是当我使用与字符串末尾匹配的分隔符执行类似的操作时,它不会给出空字符串:

"abc".split(/c/) # => ["ab"]
Run Code Online (Sandbox Code Playgroud)

这看起来与我不一致.这种规格是否有任何理由?

编辑 如果要与Perl的规范兼容,就像muu是简短的答案一样,那么问题仍然是相同的:为什么它在Perl中是这样的?因此,现在它也成了关于Perl的问题.

ruby string perl split

8
推荐指数
2
解决办法
664
查看次数

标签 统计

ruby ×2

perl ×1

split ×1

string ×1