用终端字符串拆分的ruby字符串为空

如果我定义一个带空值的字符串

string = "a,b,,c,d,e,f,," 

然后

 string.split(',') => ["a", "b", "", "c", "d", "e", "f"] 

考虑了“b”和“c”之间的空字符串,但最后两个字符串已丢失。 如何拆分字符串并在返回的数组中保留那些尾随的空字符串?

你需要说:

 string.split(',',-1) 

避免遗漏尾随空白。

为什么Ruby String#split不将连续尾随分隔符视为单独的实体?

第二个参数是“限制”参数,记录在http://ruby-doc.org/core-2.0.0/String.html#method-i-split ,如下所示:

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