Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann man nicht-alphanumerische Zeichen in Python effizient entfernen?

Wie kann man nicht-alphanumerische Zeichen in Python effizient entfernen?

Barbara Streisand
Barbara StreisandOriginal
2024-11-06 11:30:03346Durchsuche

How to Efficiently Strip Non-Alphanumeric Characters in Python?

Entfernen nicht-alphanumerischer Zeichen in Python

In Python erfordert das Entfernen nicht-alphanumerischer Zeichen aus einer Zeichenfolge einen etwas anderen Ansatz als PHP .

Pythonische Methoden

Für eine wirklich „pythonische“ Lösung sollten Sie die folgenden Methoden in Betracht ziehen:

  • Alphanumerische Zeichen verbinden: Verwenden Sie ein Listenverständnis, um die Zeichen in der Zeichenfolge zu durchlaufen und nur die alphanumerischen zu verbinden.
  • Alphanumerisch filtern:Verwenden Sie die Funktion filter() und str.isalnum(), um Nicht-alphanumerische Zeichen herausfiltern.

Alternative Ansätze

Aus Leistungsgründen können andere Methoden schneller sein:

  • Regex-Ersetzung mit [W_]: Kompilieren Sie einen regulären Ausdruck ([W_]), um alle nicht alphanumerischen Zeichen abzugleichen und zu ersetzen.
  • **Regex-Ersetzung mit pattern.sub(): Für wiederholt Substitution, kompilieren Sie den regulären Ausdruck mit re.compile() vor und verwenden Sie dann pattern.sub().

Leistungsbenchmarking

Hier sind Timing-Ergebnisse für verschiedene Methoden unter Verwendung der Zeichenfolge string.printable:

Method Time (μs/loop)
Join alphanumeric 57.6
Filter alphanumeric 37.9
Regex substitution with [W_] 27.5
Regex substitution with [W_] 15
Regex substitution with pattern.sub() 11.2

Die Zeitangaben zeigen, dass die Verwendung des vorkompilierten regulären Ausdrucks mit pattern.sub() die schnellste Methode ist.

Das obige ist der detaillierte Inhalt vonWie kann man nicht-alphanumerische Zeichen in Python effizient entfernen?. 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