2012-01-02 5 views
23

이미 포럼에서 일부 정보를 추출합니다.Python을 사용하여 하위 문자열 제거

string = 'i think mabe 124 + <font color="black"><font face="Times New Roman">but I don\'t have a big experience it just how I see it in my eyes <font color="green"><font face="Arial">fun stuff' 

내가 싫어하는 것은 서브 문자열 "<font color="black"><font face="Times New Roman">""<font color="green"><font face="Arial">"입니다 : 내가 지금 가지고있는 원시 문자열입니다. 나는 이것을 제외하고는 문자열의 다른 부분을 유지하고 싶다. 결과는 다음과 같아야합니다.

resultString = "i think mabe 124 + but I don't have a big experience it just how I see it in my eyes fun stuff" 

어떻게하면됩니까? 실제로 저는 포럼에서 위의 문자열을 추출하기 위해 아름다운 수프를 사용했습니다. 이제 파트를 제거하기 위해 정규 표현식을 선호 할 것입니다.

+0

이 문자열은 현재 작동하지 않습니다, 그것은이 모두' "'및''지원 – juliomalegria

+0

@ThiefMaster 감사의 내부. 나는 그것을 제거 할 수 있습니까? 그것은 julio.alegria @ 확인 –

+0

에 대한 수치 제발 단지 시험을 원한다면 "끝나는 것"과 "끝내는 것"사이에있는 것을 다루십시오. 고마워요. –

답변

53
import re 
re.sub('<.*?>', '', string) 
"i think mabe 124 + but I don't have a big experience it just how I see it in my eyes fun stuff" 

re.sub 함수는 정규식 포함 걸리고 번째 매개 변수 문자열에 일치하는 모든 대체. 이 경우 모든 태그 ('<.*?>')를 검색하고 아무것도 표시하지 않고 ('') 바꿉니다.

?은 비 탐욕적인 검색의 경우 re에 사용됩니다.

re module에 대해 자세히 알아보십시오.

+8

당신은 내 영웅입니다. –

+0

@ Wenhao.SHE 도와 줘서 기쁩니다. – juliomalegria

+0

이것은 매우 도움이됩니다 .. 감사합니다. 내 프로젝트에 대한 트위터 트윗에서 멘션 (@s)을 제거하기 위해 이것을 사용했습니다. ? ',' ', tweetText) – sumanth232

10
>>> import re 
>>> st = " i think mabe 124 + <font color=\"black\"><font face=\"Times New Roman\">but I don't have a big experience it just how I see it in my eyes <font color=\"green\"><font face=\"Arial\">fun stuff" 
>>> re.sub("<.*?>","",st) 
" i think mabe 124 + but I don't have a big experience it just how I see it in my eyes fun stuff" 
>>> 
+7

당신은 또한 대단하다. –

관련 문제