Ruby从包含空格的文件中删除空行

Ruby从包含空格的文件中删除空行,ruby,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?

我正在尝试从文件中删除空行

我目前的代码是:

 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)

只需删除那些仅包含空格的行。

由于您仍然将整个文件加载到内存中,因此这可能更易于阅读:

File.write(file, File.readlines(file).reject { |s| s.strip.empty? }.join)

只需删除那些只包含空格的行。

在调用
gsub
之前删除空格,或者在
gsub
使用的正则表达式中包含空格。调用
gsub
之前的空格或包含
gsub
使用的正则表达式中的空格。谢谢。这正是我想要的。@CarySwoveland上升票并不是我们在这里做什么的原因:)是的,但对一个好的答案投下的下降票最多只能让读者感到困惑。谢谢。这正是我想要的。@CarySwoveland向上的投票事实上并不是我们在这里做什么的原因:)是的,但对一个好的答案投反对票最多只能让读者感到困惑。