ファイルから空白行を削除しようとしています。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)
をジャストスペースのみを含む、これらの行を削除します。
ありがとうございます。これはまさに私が探していたものです。 –
@CarySwovel upvotesは実際に私たちがここでやっていることをしているのではありません:) – mudasobwa
真実ですが、良い答えに適用されるdownvoteは、読者にとっては最高のものです。 –
[strip](https://ruby-doc.org/core-2.4.1/String.html#method--strip) 'gsub'を呼び出す前にスペースを入れたり、正規表現に' gsub'。 – axiac