2012-06-04 3 views
0

여러 줄의 문자열에서 특정 문자 (이 경우에는 여는 괄호)가 포함 된 첫 줄까지 모든 줄을 분석하고 싶습니다.여러 줄 문자열을 특정 문자가있는 첫 줄까지 구문 분석합니다.

s = """Here are the lines 
of text that i want. 
The first line with <tags> and everything 
after should be stripped.""" 

s1 = s[:s.find('<')] 
s2 = s1[:s.rfind('\n')] 

print s2 

결과 : 여기

는 선 내가 원하는 텍스트의
있습니다.
내가 무엇을 찾고

와 첫 번째 줄 : 여기

내가 원하는 라인
텍스트의 있습니다.

답변

2

변화

s2 = s1[:s.rfind('\n')] #This picks up the newline after "everything" 

s2 = s1[:s1.rfind('\n')] 

와 그것을 작동합니다. 그래도이 작업을 수행하는 더 좋은 방법이있을 수 있습니다 ...

+0

오, 벙어리 - 그게 무슨 뜻이야, 고마워 (당신은 개행 부분에 대한 rfind 필요 - 그렇지 않으면 첫 번째 줄을 얻을거야) – Yarin

+0

@ Yarin - 네, 개행 부분에'rfind'가 필요합니다 -''< ''부분은 아닙니다. (그게 * 처음 *'rfind'가 의미했던 것입니다. - 분명하지 않다면 유감스럽게 생각합니다 - 약간 더 명시 적으로 편집 됨). – mgilson

+0

@Yarin - Oops, 분명히 당신은 모든 것을 '발견'했습니다. 나는 왜 두 경우 모두'rfind'를 보았는지 알지 못합니다. 죄송합니다. (내 쓸데없는 (그리고 잘못된) 주석을 제거하기 위해 다시 편집 됨). – mgilson

관련 문제