2011-11-16 30 views
0

我正在處理一個文件中的很多行,在這個文件中我想要檢索某個可能長度不同的特定元素,而且它的兩側沒有相同的字符。Python:當索引是動態的時候如何抓住一個子字符串

下面是一個例子。我希望檢索每個符合「OOO_」啓動項:

blah blah OOO_128934(blah blah 
blah bloop OOO_231 bloop bloop 
beep OOO_421398234beep beep 

解決方案有/無使用re模塊是值得讚賞!

回答

3

那麼也許:

text = """ 
blah blah OOO_128934(blah blah 
blah bloop OOO_231 bloop bloop 
beep OOO_421398234beep beep 
""" 

import re 

print re.findall(r'OOO_\d+', text) 
>>> ['OOO_128934', 'OOO_231', 'OOO_421398234'] 
+0

完美!非常感謝你。 – toofly

+0

歡迎您@toofly –

1
>>> s = "blah bloop OOO_231 bloop bloop" 
>>> next(x for x in s.split() if x.startswith("OOO_")) 
'OOO_231' 
+0

很好的建議。但我有一個預感,他希望第一個是「OOO_128934」,最後一個是「OOO_421398234」。 –

+0

這是一個很好的建議,但弗雷德拉森是對的 – toofly