Sto cercando di elaborare una semplice funzione per catturare errori di battitura, per esempio:modo veloce per dividere alfa e caratteri numerici in una stringa di pitone
"Westminister15"
"Westminister15London"
"23Westminister15London"
dopo fissarsi:
["Westminister", "15"]
["Westminister", "15", "London"]
["23", "Westminister", "15", "London"]
Primo tentativo:
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
risultato:
fixate("Westminister15London")
> ['15']
> ['Westminister', 'London']
Tuttavia, credo che questo potrebbe essere fatto in modo più efficace, e ho ancora ottenere cattivi risultati quando provo qualcosa di simile:
fixate("Westminister15London England")
> ['15']
> ['Westminister', 'London England']
Ovviamente dovrebbe arruolarsi London
e England
separatamente, ma mi sento la mia funzione otterrà eccessivamente rattoppato e c'è un approccio più semplice
questa domanda è un po 'equivalente alla domanda this php
Grazie a @TimPietzcker è fantastico –