2012-06-04 66 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'作爲換行符 - 而不是''<''部分。 (這就是我的意思是* first *'rfind' - 對不起,如果不明確 - 編輯更清楚一點)。 – mgilson

+0

@Yarin - 哎呀,顯然你一直都在找''。我不知道爲什麼我會在這兩種情況下看到「rfind」。抱歉。 (再次編輯刪除我無用的(和錯誤的)評論)。 – mgilson