我试图找出一个简单的函数来捕获错别字,如分裂字母和数字字符:固定后快速的方式在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 –