我有以下代码:
f = File.open("/log/mytext.txt")
f.each_line do |i|
i = i.delete("\n")
puts i.inspect
删除删除了\ n,但结果如下所示:
"#<MatchData \"line1\">"
""
""
""
"#<MatchData \"line2\">"
希望它返回:
line1
line2
整天都在解决这个问题。谢谢你的帮助
答案 0 :(得分:2)
p File.open("/log/mytext.txt").each_line.map(&:rstrip).delete_if(&:empty?)
现在让我解释一下:)
p expr
相当于puts expr.inspect
,会显示结果。
rstrip
是一种删除尾随换行符(以及任何尾随空格)的简单方法。
delete_if(&:empty?)
,相当于delete_if{|x| x.empty?}
检查字符串是否为空白,如果是,则不会让它们通过。