Verwendung von regulären Ausdrücken
In diesem Schritt lernen Sie, wie Sie in Python reguläre Ausdrücke (regular expressions) verwenden können, um Sonderzeichen zu identifizieren. Reguläre Ausdrücke sind leistungsstarke Werkzeuge für die Mustererkennung in Zeichenketten.
Zunächst erstellen wir ein Python-Skript namens regex_special_characters.py
in Ihrem ~/project
-Verzeichnis mit dem VS Code-Editor.
## Content of regex_special_characters.py
import re
def find_special_characters(text):
special_characters = re.findall(r"[^a-zA-Z0-9\s]", text)
return special_characters
text = "Hello! This is a test string with some special characters like @, #, and $."
special_chars = find_special_characters(text)
print("Special characters found:", special_chars)
Hier ist, was dieser Code macht:
import re
: Diese Zeile importiert das re
-Modul, das Operationen mit regulären Ausdrücken bereitstellt.
def find_special_characters(text):
: Dies definiert eine Funktion, die eine Zeichenkette als Eingabe nimmt und alle Sonderzeichen darin findet.
special_characters = re.findall(r"[^a-zA-Z0-9\s]", text)
: Diese Zeile verwendet die re.findall()
-Funktion, um alle Zeichen in der Eingabezeichenkette zu finden, die nicht alphanumerisch (a-z, A-Z, 0-9) oder Leerzeichen (\s
) sind. Das [^...]
ist eine negierte Zeichenklasse, was bedeutet, dass es jedes Zeichen nicht in der angegebenen Menge übereinstimmt.
return special_characters
: Diese Zeile gibt eine Liste der gefundenen Sonderzeichen zurück.
- Die verbleibenden Zeilen definieren eine Beispielzeichenkette, rufen die Funktion auf, um Sonderzeichen darin zu finden, und geben das Ergebnis aus.
Jetzt führen wir das Skript aus. Öffnen Sie Ihr Terminal und geben Sie den folgenden Befehl ein:
python regex_special_characters.py
Sie sollten die folgende Ausgabe sehen:
Special characters found: ['!', '@', ',', '#', '$', '.']
Diese Ausgabe zeigt die Liste der Sonderzeichen, die in der Eingabezeichenkette mit dem regulären Ausdruck gefunden wurden.
Ändern wir das Skript, um einen anderen regulären Ausdruck zu verwenden, der nur Satzzeichen übereinstimmt.
Öffnen Sie regex_special_characters.py
in VS Code und ändern Sie es wie folgt:
## Modified content of regex_special_characters.py
import re
import string
def find_punctuation_characters(text):
punctuation_chars = re.findall(r"[" + string.punctuation + "]", text)
return punctuation_chars
text = "Hello! This is a test string with some punctuation like ., ?, and !."
punctuation = find_punctuation_characters(text)
print("Punctuation characters found:", punctuation)
In diesem geänderten Skript haben wir string.punctuation
verwendet, um die Menge der Satzzeichen zu definieren, die übereinstimmen sollen.
Führen Sie das Skript erneut aus:
python regex_special_characters.py
Sie sollten die folgende Ausgabe sehen:
Punctuation characters found: ['!', '.', '?', '!']
Diese Ausgabe zeigt die Liste der Satzzeichen, die in der Eingabezeichenkette mit dem regulären Ausdruck und der Konstanten string.punctuation
gefunden wurden.
Die Verwendung von regulären Ausdrücken bietet eine flexible und leistungsstarke Möglichkeit, Sonderzeichen aus Zeichenketten in Python zu identifizieren und zu extrahieren.