循环后删除空行
好的,我有以下非常简单的代码:
f = "String1\n\n\nString2\n\n\n" f.each_line do |t| t.delete! "\n" puts t.inspect end
它会删除\ n,但会留下空格
"String1" nil nil "String2" nil nil
我希望它看起来像这样:
"String1" "String2"
在此先感谢您的帮助。
f.squeeze("\n").each_line do |l| puts l end
你可以用\n
分割字符串,然后拒绝任何空白行:
f = "String1\n\n\nString2\n\n\n" f.split("\n").reject { |i| i.empty? } #=> ["String1", "String2"]
您最终会得到一个可以根据需要输出的数组。
f = "String1\n\n\nString2\n\n\n" f.each_line.collect(&:chomp).reject(&:empty?) #=> ["String1", "String2"]
collect(&:chomp)
删除行结尾。 reject(&:empty?)
抛弃所有空行。