2011-02-02 4 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 선합니다.

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