Devo sostituire tutti i caratteri non ASCII (\ x00- \ x7F) con uno spazio. Sono sorpreso che questo non sia assolutamente facile in Python, a meno che non manchi qualcosa. La seguente funzione rimuove semplicemente tutti i caratteri non ASCII:
def remove_non_ascii_1(text):
return ''.join(i for i in text if ord(i)<128)
E questo sostituisce i caratteri non ASCII con la quantità di spazi secondo la quantità di byte nel punto del codice carattere (ovvero il –
carattere viene sostituito con 3 spazi):
def remove_non_ascii_2(text):
return re.sub(r'[^\x00-\x7F]',' ', text)
Come posso sostituire tutti i caratteri non ASCII con un singolo spazio?
Della miriade di simili SO domande , nessuno indirizzo carattere di sostituzione come contrapposizione a nudo , e in aggiunta non affrontare tutti i caratteri non ASCII un carattere specifico.
–
. È questo ragazzo .