假设我有这个:
a = "|hello"
如果我这样做:
a.split("|") #=> ["", "hello"]
现在说我有:
b = "hello|"
如果我这样做:
b.split("|") #=> ["hello"]
为什么会这样?我期望结果为["hello", ""]
,类似于第一个例子。这是split
方法工作不一致。或者我的内心工作有什么我不知道的?
答案 0 :(得分:9)
如果省略limit参数,则尾随空字段为 抑制。
如果您想保存尾随空字符串,只需添加正面或负面限制,作为文档提供:
"hello|".split('|', 2)
#=> ["hello", ""]
"hello|||".split('|', -1)
#=> ["hello", "", "", ""]
请注意
如果为负数,则返回的字段数没有限制,并且不会抑制尾随空字段。