我试图从文件中删除空行。Ruby从包含空格的文件中删除空行
我当前的代码是:
def remove_blank_lines_from_file(file)
File.write(file, File.read(file).gsub(/^$\n/, ''))
end
上面的代码只删除空行,但我也想删除它包含空格的线条。
我该怎么办?
我试图从文件中删除空行。Ruby从包含空格的文件中删除空行
我当前的代码是:
def remove_blank_lines_from_file(file)
File.write(file, File.read(file).gsub(/^$\n/, ''))
end
上面的代码只删除空行,但我也想删除它包含空格的线条。
我该怎么办?
既然你仍然加载整个文件到内存中,这可能是更容易阅读:
File.write(file, File.readlines(file).reject { |s| s.strip.empty? }.join)
只是删除那些行,只含有空格。
谢谢。这正是我所期待的。 –
@CarySwoveland upvotes实际上并不是我们为什么要做我们在这里做的事情:) – mudasobwa
没错,但应用于一个很好的答案downvote是最好的读者混淆。 –
[strip](https://ruby-doc.org/core-2.4.1/String.html#method-i-strip)在调用'gsub'之前的空格或者包含正在使用的正则表达式中的空格' gsub'。 – axiac