好吧,我有以下的,非常简单的代码:循环结束后删除空行
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 = "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"
在此先感谢您的帮助。
您可以通过\n
split的字符串,然后reject任何空行:
f = "String1\n\n\nString2\n\n\n"
f.split("\n").reject { |i| i.empty? }
#=> ["String1", "String2"]
你会结束了,你可以输出你想要的数组。
工作得很好。谢谢 – nomoreflash 2010-09-22 22:00:46
你能分裂字符串吗? – nomoreflash 2010-09-22 22:34:55
f = "String1\n\n\nString2\n\n\n"
f.each_line.collect(&:chomp).reject(&:empty?)
#=> ["String1", "String2"]
的collect(&:chomp)
删除行结尾。 reject(&:empty?)
丢掉所有的空行。
谢谢,一定会有用你的意见。 – nomoreflash 2010-09-22 22:01:41
你很亲切。 @ jordinl的回答显然更好。 – 2010-09-22 22:34:58
不,它不留下任何空格。它返回一个空字符串。你在找什么结果? – Matchu 2010-09-22 21:46:31
你确定你的确切代码在输出中产生'nil',而不是''“'?它不应该这样做。 – 2011-02-28 00:16:38