2015-11-04 4 views

ответ

1

использования re.findall

re.findall(r'^[A-Z][a-z]+|[A-Z]+|\d+', s) 

Пример:

>>> def split_c(s): 
    return re.findall(r'^[A-Z][a-z]+|[A-Z]+|\d+', s) 

>>> split_c('Seattle, WA 98108') 
['Seattle', 'WA', '98108'] 
>>> split_c('SeattleWA 98108') 
['Seattle', 'WA', '98108'] 
>>> split_c('Seattle, WA98108') 
['Seattle', 'WA', '98108'] 
>>> split_c('Seattle, WA 98108') 
['Seattle', 'WA', '98108'] 
>>> city, state, zip_ = split_c('Seattle, WA 98108') 
>>> city 
'Seattle' 
>>> state 
'WA' 
>>> zip_ 
'98108' 
>>> 
+0

Это соответствует только Сиэтлу. Вам нужны группы. –

+0

действительно ?????????? –

+0

My bad :) Это то, что я получаю для не тестирования в первую очередь. –

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