2013-11-12 2 views
1

У меня есть текстовый файл с таким текстом:Как определить различные первые слова в строке Python

місто Ясинуватського р-ну Донецької обл.#1#Авдіївка 
м., ліва притока Інгул.#3#Аджамка (Аджимка, Аджинка 

Я сделал это (Python 2.7):

for line in text.splitlines(): 
    if line.startswith(u'місто'):  
    before_keyword, after_keyword = line.rsplit(u'#',1) 
    encoded=after_keyword.encode('cp1251') 
    print encoded 

Как я могу определить, что моя линия должна начинает с u "місто" или u "м." *? Я хочу, чтобы мой результат будет:

Авдіївка 

Аджамка (Аджимка, Аджинка 

ответ

3

Вы можете передать кортеж значений str.startswith:

if line.startswith((u'місто', u'м.')): 

помощь на str.startswith:

startswith(...) 
    S.startswith(prefix[, start[, end]]) -> bool 

Возвращение Правда, если S начинается с указанным префиксом, False в противном случае. С дополнительным запуском, тест S начинается в этом положении. С дополнительным концом прекратите сравнение S в этом положении. префикс может также быть кортежем строк, чтобы попробовать.

+0

Thnx, вы сделали мой день) –

Смежные вопросы