2011-02-02 34 views
0

Ruby on Railsのテキストファイルから特定の行を削除する方法は?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: ADVANCE_APPROACH  , "Advance Approach" 

最後に、それは次のように表示されます。

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

どの行を削除するかを明確にすることができますか?それは常に3行目ですか、それとも常に特定の正規表現にマッチするのでしょうか? – sflinter

+0

動的に私は行の値を取得しようとしています...特定の行を削除する必要があります...行番号は変わります – Jeyavel

答えて

4

あなたはしたくない行を省略して、それらをファイルに書き戻し、その後、配列にすべての行を読むことができました。 (このコードでは、あなたが言及した特定の行だけを検索しますが、代わりに正規表現を作成してlineと比較することができます)。

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

それは私のために働いていません...他の方法がありますか? – Jeyavel

関連する問題