我試圖找出一個簡單的函數來捕獲錯別字,如分裂字母和數字字符:固定後快速的方式在Python字符串
"Westminister15"
"Westminister15London"
"23Westminister15London"
:
["Westminister", "15"]
["Westminister", "15", "London"]
["23", "Westminister", "15", "London"]
第一次嘗試:
def fixate(query):
digit_pattern = re.compile(r'\D')
alpha_pattern = re.compile(r'\d')
digits = filter(None, digit_pattern.split(query))
alphas = filter(None, alpha_pattern.split(query))
print digits
print alphas
結果:
fixate("Westminister15London")
> ['15']
> ['Westminister', 'London']
不過,我認爲這可能是更有效地完成,我仍然很糟糕的結果,當我嘗試類似:
fixate("Westminister15London England")
> ['15']
> ['Westminister', 'London England']
顯然應該爭取London
和England
分開,但我覺得我的功能將得到過度修補和那裏有一個簡單的方法
這個問題有點相當於this PHP問題
Thanks @TimPietzcker that's great –