我正在尝试制定一个简单的函数来捕获拼写错误,例如:
"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
但我觉得我的功能会被过度修补,并且有一个更简单的方法
这个问题有点等价于这个php question