Как удалить конкретную строку из текстового файла в Ruby on Rails? - PullRequest
0 голосов
/ 02 февраля 2011

Как удалить конкретную строку из текстового файла в Ruby on Rails?

Пример:

1: CLEAR                  ,  "Clear"
2: APPROACH_DIVERGING     ,  "Approach Diverging"
3: ADVANCE_APPROACH       ,  "Advance Approach"
4: APPROACH_RESTRICTED    ,  "Approach Restricted""
5: APPROACH2              ,  "Approach"

Из приведенного выше примера я хочу удалить 3-ю строку.

3: ADVANCE_APPROACH       ,  "Advance Approach"

Наконец, он будет отображаться так:

CLEAR                  ,  "Clear"
APPROACH_DIVERGING     ,  "Approach Diverging"
APPROACH_RESTRICTED    ,  "Approach Restricted""
APPROACH2              ,  "Approach"

1 Ответ

4 голосов
/ 02 февраля 2011

Вы можете прочитать все строки в массив, а затем записать их обратно в файл, пропуская ненужные строки. (Этот код ищет только указанную вами строку, но вы можете создать регулярное выражение для сравнения с line.)

lines = File.readlines(filename)
File.open(filename, "w") do |f|
  lines.each { |line| f.puts(line) unless line == "ADVANCE_APPROACH       ,  \"Advance Approach\"") }
end
...