用Ruby删除行

Phi*_*ide 1 ruby parsing

如何使用ruby打开文本文件,并删除包含"关键短语"的行.

我不想只删除关键短语,我需要包含要删除的短语的完整行.

Mic*_*ohl 5

像这样的东西:

File.open(output_file, "w") do |ofile|
  File.foreach(input_file) do |iline|
    ofile.puts(iline) unless iline =~ Key_phrase
  end
end
Run Code Online (Sandbox Code Playgroud)

  • `output_file`是一个变量,它包含要写入的文件的文件名.如果你按照你提到的那样将它存储在`out_file`中,它显然是行不通的.更改代码或变量名称.看起来你对Ruby很新,文档相当不错. (2认同)
  • @PhilipK:你需要用`/ keyword /`这样的正则表达式替换`Key_phrase`.您应该阅读一些有关基本Ruby类型的内容.或者,您可以检查字符串是否在行中:`除非iline.include?("短语")` (2认同)