2012-02-17 3 views
0

파이썬을 사용하여 파일에서 큰 텍스트 블록을 제거하려고합니다. 텍스트의 각 블록은 두 번째 따옴표로 끝나는 = "SOMETEXT"파이썬으로 텍스트 블록 제거하기

/번역을 시작합니다.

아무에게도이 작업을 수행하는 방법에 대한 조언을 줄 수 있습니까?

성능이 문제가되지 않는 경우가

+0

정규 표현식을 사용합니다. 나는 그것들에 그다지 중점을 두지 않지만 올바른 방향으로의 힌트 일뿐입니다. –

+0

re 모듈을 사용해보십시오. 테스트를 쉽게 해주는 정규식 테스터를 사용하십시오 (http://ksamuel.pythonanywhere.com/). –

답변

0

,이 같은 일을 할 수있는 감사드립니다. 정규 표현식이 더 빠를 수도 있지만 더 간단합니다.

def remtxt(s,startstr,endstr): 
     while startstr in s: 
       startpos=s.index(startstr) 
       try: 
         endpos=s.index(endstr,startpos+len(startstr))+len(endstr) 
       except: 
         return 
       s=s[:startpos]+s[endpos:] 
     return s 

new_string=remtxt(my_string,'/translation="','"') 
1

이 같은의 re.sub 사용할 수 있습니다

import re 
re.sub("/translation=\".*?\" ", "", s) 
관련 문제