Heim > Backend-Entwicklung > Python-Tutorial > Wie entferne ich bestimmte Zeichen effizient aus einer Zeichenfolge in Python?

Wie entferne ich bestimmte Zeichen effizient aus einer Zeichenfolge in Python?

Linda Hamilton
Freigeben: 2024-12-13 18:21:16
Original
838 Leute haben es durchsucht

How to Efficiently Remove Specific Characters from a String in Python?

Bestimmte Zeichen aus einer Zeichenfolge in Python entfernen

Wenn Sie in Python mit Zeichenfolgen arbeiten, müssen Sie möglicherweise bestimmte Zeichen entfernen. Die gebräuchlichste Methode hierfür ist die Verwendung der Methode replace(). Allerdings scheint der folgende Code leider keine Zeichen zu entfernen:

for char in line:
    if char in " ?.!/;:":
        line.replace(char,'')
Nach dem Login kopieren

Das Problem bei diesem Code besteht darin, dass die Methode replace() die Zeichenfolge nicht direkt ändert. Um die Zeichen korrekt zu ersetzen, müssen Sie das Ergebnis der Methode replace() wieder der Zeilenvariablen zuweisen:

for char in " ?.!/;:":
    line = line.replace(char,'')
Nach dem Login kopieren

Alternativ können Sie einen prägnanteren und effizienteren Ansatz verwenden:

import string
line = line.translate(string.maketrans('', ''), '!@#$')
Nach dem Login kopieren

Die Methode Translate() verwendet eine Übersetzungstabelle als zweites Argument. Die Übersetzungstabelle ist eine Zeichenfolge, in der jedes Zeichen das entsprechende zu entfernende Zeichen darstellt. In diesem Fall enthält die Übersetzungstabelle vier Zeichen: „!“, „@“, „#“ und „$“. Jedes Zeichen in der Zeile, das mit einem dieser Zeichen übereinstimmt, wird entfernt.

Eine weitere Option ist die Verwendung regulärer Ausdrücke:

import re
line = re.sub('[!@#$]', '', line)
Nach dem Login kopieren

Die sub()-Methode verwendet als erstes ein reguläres Ausdrucksmuster Argument. Das in Klammern eingeschlossene Muster gibt an, welche Zeichen entfernt werden sollen. Das zweite Argument ist die Zeichenfolge, durch die die übereinstimmenden Zeichen ersetzt werden sollen. In diesem Fall wird die leere Zeichenfolge verwendet, um die Zeichen effektiv zu entfernen.

Für Python 3 werden Zeichenfolgen als Unicode dargestellt und erfordern einen etwas anderen Ansatz:

unicode_line = unicode_line.translate({ord(c): None for c in '!@#$'})
Nach dem Login kopieren

Dieser Code erstellt eine Übersetzungstabelle, in der jedes Zeichen in der Liste „Keine“ zugeordnet ist, was angibt, dass es entfernt werden sollte.

Das obige ist der detaillierte Inhalt vonWie entferne ich bestimmte Zeichen effizient aus einer Zeichenfolge in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage