拆分不返回空字符串

西尔万·马丁·圣莱昂

有没有办法获取:

"[][][]".split('[]')
#=> ["", "", ""]

代替

#=>[]

无需编写函数?

此行为令人惊讶,因为有时irb会按预期响应:

"[]a".split('[]')
#=>["", "a"]`
乔丹跑步

文档

如果省略limit参数,则尾随空字段将被抑制。如果limit为正数,则最多返回该字段数(如果limit1,则返回整个字符串作为数组中的唯一条目)。如果为负,则返回的字段数没有限制,尾随的空字段也不会被抑制。

所以:

"[][][]".split("[]", -1)
# => ["", "", "", ""]

这将产生四个空字符串,而不是三个字符串,但是如果您考虑一下,这是唯一有意义的结果。如果您,,,对每个逗号进行分割,那么您还会期望得到四个空字符串,因为在第一个逗号“之前”有一个空项目,而在最后一个逗号“后”有一个空项目。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章