2011-08-26 4 views
1

나는 다음과 같은 닮은 텍스트의 조각이 있습니다루비 GSUB 문제가

==EXCLUDE 

#lots of lines of text 

==EXCLUDE 

#this is what I actually want 

를 그래서 나는 수행하여 원치 않는 비트를 제거하려고했던 :

str.gsub!(/==EX.*?==EXCLUDE/, '') 

그러나, 그 작동하지 않습니다. \ n 문자를 먼저 제거하려고하면 꿈처럼 작동합니다. 문제는 실제로 \ n 문자를 제거 할 수 없다는 것입니다. 새 줄을 그 자리에 두면서 어떻게 이런 대체를 할 수 있습니까?

답변

2

해야 str.gsub!(/==EX.*?==EXCLUDE/m, '')

을 시도해보십시오

str.gsub!(/==EX.*?==EXCLUDE/m, '') 

여기 Rubular 나에 대한 라이브 데모 : 당신은 루비에서 m 수정을 사용하는 경우 그것을 작동합니다 (다른 언어로,이는 s 수정입니다) 그것을 새로운 라인들로 확장하라.

+1

'== EXCLUDE' 줄에 줄 바꿈을 유지한다고 가정하면 두 번째 gsub 인수는 "\ n \ n"이어야합니다. – JellicleCat