Ich muss alle Nicht-ASCII-Zeichen (\ x00- \ x7F) durch ein Leerzeichen ersetzen. Ich bin überrascht, dass dies in Python nicht ganz einfach ist, es sei denn, ich vermisse etwas. Die folgende Funktion entfernt einfach alle Nicht-ASCII-Zeichen:
def remove_non_ascii_1(text):
return ''.join(i for i in text if ord(i)<128)
Und dieses ersetzt Nicht-ASCII-Zeichen durch die Anzahl der Leerzeichen gemäß der Anzahl der Bytes im Zeichencodepunkt (dh das –
Zeichen wird durch 3 Leerzeichen ersetzt):
def remove_non_ascii_2(text):
return re.sub(r'[^\x00-\x7F]',' ', text)
Wie kann ich alle Nicht-ASCII-Zeichen durch ein Leerzeichen ersetzen?
Von der Vielzahl von ähnlichen SO Fragen , keine Adresse Zeichen Ersatz als Gegensatz zum Strippen , und zusätzlich alle Nicht-ASCII - Zeichen - Adresse eines bestimmtes Zeichen.
–
. Es ist dieser Typ .