我試圖從文件中刪除空行。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