Ersetzen von Nicht-ASCII-Zeichen durch Leerzeichen in Python
Die Aufgabe, Nicht-ASCII-Zeichen durch Leerzeichen in Python zu ersetzen, mag einfach erscheinen, aber Die integrierten Funktionen, die häufig zur Zeichenmanipulation verwendet werden, stellen möglicherweise nicht sofort eine einfache Lösung dar. Lassen Sie uns die Herausforderungen und alternativen Ansätze erkunden, um dieses Ziel effektiv zu erreichen.
Aktuelle Lösungen
Zwei bestehende Ansätze werden in der Frage vorgestellt:
Ersetzung einzelner Leerzeichen
Die Frage fragt speziell nach dem Ersetzen aller Nicht-ASCII-Zeichen durch ein einzelnes Leerzeichen. Um dies zu erreichen, müssen wir die Funktion remove_non_ascii_1() ändern:
def remove_non_ascii_1(text):
return ''.join([i if ord(i) In dieser aktualisierten Funktion verwenden wir einen bedingten Ausdruck, um Nicht-ASCII-Zeichen durch ein einzelnes Leerzeichen zu ersetzen . Der ''.join()-Ausdruck verkettet dann die geänderten Zeichen zu einer einzigen Zeichenfolge.
Ansatz für reguläre Ausdrücke
Der reguläre Ausdruck in remove_non_ascii_2() kann auch für die Ersetzung durch ein Leerzeichen angepasst werden:
re.sub(r'[^\x00-\x7F] ', ' ', text)
Hier Der Modifikator „ “ wird innerhalb der eckigen Klammern hinzugefügt, um sicherzustellen, dass aufeinanderfolgende Nicht-ASCII-Zeichen durch ein einzelnes Leerzeichen ersetzt werden.
Hinweis: Diese Funktionen arbeiten mit Unicode-Zeichenfolgen. Wenn mit Byte-Strings gearbeitet wird, müssen die Unicode-Zeichen zunächst dekodiert werden (z. B. als unicode(text, 'utf-8').
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3