有没有办法获取:
"[][][]".split('[]')
#=> ["", "", ""]
代替
#=>[]
无需编写函数?
此行为令人惊讶,因为有时irb会按预期响应:
"[]a".split('[]')
#=>["", "a"]`
从文档:
如果省略limit参数,则尾随空字段将被抑制。如果limit为正数,则最多返回该字段数(如果limit为
1
,则返回整个字符串作为数组中的唯一条目)。如果为负,则返回的字段数没有限制,尾随的空字段也不会被抑制。
所以:
"[][][]".split("[]", -1)
# => ["", "", "", ""]
这将产生四个空字符串,而不是三个字符串,但是如果您考虑一下,这是唯一有意义的结果。如果您,,,
对每个逗号进行分割,那么您还会期望得到四个空字符串,因为在第一个逗号“之前”有一个空项目,而在最后一个逗号“后”有一个空项目。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句