Python re.sub()-Methode
re.sub()ist PythonreModulfunktion zumErsetzen übereinstimmender Elemente.
Es findet alle übereinstimmenden Teilzeichenketten in der Zeichenkette und ersetzt sie durch den angegebenen Inhalt.
Wortbedeutung: subist die Abkürzung für substitute (ersetzen).
Grundlegende Syntax und Parameter
Syntaxformat
re.sub(pattern, repl, string, count=0, flags=0)
Parameterbeschreibung
- pattern: der reguläre Ausdruck zum Abgleichen
- repl: der Ersetzungstext, der eine Zeichenkette oder eine Funktion sein kann
- string: die ursprüngliche Zeichenkette
- count: die maximale Anzahl der Ersetzungen; 0 bedeutet, alle zu ersetzen
- flags: Flags für reguläre Ausdrücke
Funktionsbeschreibung
- Rückgabewert: Gibt die neue Zeichenkette nach der Ersetzung zurück.
Beispiele
Beispiel 1: Einfache Ersetzung
Beispiel
import re
text = "Python is good, Python is great"
# Python durch Java ersetzen
result = re.sub(r'Python', 'Java', text)
print(result)
text = "Python is good, Python is great"
# Python durch Java ersetzen
result = re.sub(r'Python', 'Java', text)
print(result)
Erwartete Ausgabe:
Java is good, Java is great
Beispiel 2: Eine angegebene Anzahl von Malen ersetzen
Beispiel
import re
text = "Python is good, Python is great"
# Nur das erste Vorkommen ersetzen
result = re.sub(r'Python', 'Java', text, count=1)
print(result)
text = "Python is good, Python is great"
# Nur das erste Vorkommen ersetzen
result = re.sub(r'Python', 'Java', text, count=1)
print(result)
Erwartete Ausgabe:
Java is good, Python is great
Beispiel 3: Ersetzen mit regulärem Ausdruck
Beispiel
import re
text = "Meine Telefonnummer ist 138-1234-5678"
# Die mittleren 4 Ziffern der Telefonnummer durch **** ersetzen
result = re.sub(r'\d{4}', '****', text)
print(result)
text = "Meine Telefonnummer ist 138-1234-5678"
# Die mittleren 4 Ziffern der Telefonnummer durch **** ersetzen
result = re.sub(r'\d{4}', '****', text)
print(result)
Erwartete Ausgabe:
我的手机号是 138-****-5678
Beispiel 4: Verwendung von Gruppenreferenzen
Beispiel
import re
text = "2024-04-02"
# Die Reihenfolge von Jahr, Monat und Tag vertauschen
result = re.sub(r'(\d{4})-(\d{2})-(\d{2})', r'\3/\2/\1', text)
print(result)
text = "2024-04-02"
# Die Reihenfolge von Jahr, Monat und Tag vertauschen
result = re.sub(r'(\d{4})-(\d{2})-(\d{2})', r'\3/\2/\1', text)
print(result)
Erwartete Ausgabe:
02/04/2024
Beispiel 5: Verwendung einer Funktion als Ersetzungsinhalt
Beispiel
import re
text = "3 Äpfel, 5 Bananen, 8 Orangen"
# Ersetze Zahlen durch Zahl + 1
def add_one(match):
return str(int(match.group()) + 1)
result = re.sub(r'\d+', add_one, text)
print(result)
text = "3 Äpfel, 5 Bananen, 8 Orangen"
# Ersetze Zahlen durch Zahl + 1
def add_one(match):
return str(int(match.group()) + 1)
result = re.sub(r'\d+', add_one, text)
print(result)
Erwartete Ausgabe:
苹果4个,香蕉6个,橙子9个
Andere Erweiterungen
Python-re-Modul