Heim  >  Artikel  >  Backend-Entwicklung  >  Wie ersetze ich Nicht-ASCII-Zeichen in Python durch Leerzeichen?

Wie ersetze ich Nicht-ASCII-Zeichen in Python durch Leerzeichen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-01 16:34:02386Durchsuche

How to Replace Non-ASCII Characters with Spaces in Python?

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:

  • remove_non_ascii_1() entfernt alle Nicht-ASCII-Dateien Zeichen.
  • remove_non_ascii_2() ersetzt Nicht-ASCII-Zeichen durch Leerzeichen und verwendet mehrere Leerzeichen für Zeichen mit größeren Codepunkten.

Single-Space Ersetzen

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:

<code class="python">def remove_non_ascii_1(text):
    return ''.join([i if ord(i) < 128 else ' ' for i in text])</code>

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 Einzelzeichen-Ersetzung angepasst werden:

<code class="python">re.sub(r'[^\x00-\x7F]+', ' ', text)</code>

Hier steht das ' ' 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').

Das obige ist der detaillierte Inhalt vonWie ersetze ich Nicht-ASCII-Zeichen in Python durch Leerzeichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn