如果我定义一个带空值的字符串
string = "a,b,,c,d,e,f,,"
然后
string.split(',')
=> ["a", "b", "", "c", "d", "e", "f"]
考虑了“b”和“c”之间的空字符串,但最后两个字符串已丢失。如何拆分字符串并在返回的数组中保留那些尾随的空字符串?
答案 0 :(得分:17)
你需要说:
string.split(',',-1)
以避免遗漏尾随空白。
每Why does Ruby String#split not treat consecutive trailing delimiters as separate entities?
第二个参数是“限制”参数,记录在http://ruby-doc.org/core-2.0.0/String.html#method-i-split,如下所示:
如果省略“limit”参数,则尾随空字段为 抑制。如果limit是正数,则最多为该数 将返回字段(如果limit为1,则返回整个字符串 作为数组中的唯一条目)。如果是否定的,则没有限制 返回的字段数,而不是尾随空字段 抑制。