Python re.sub()-Methode

Python re 模块Python-re-Modul


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)

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)

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)

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)

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)

Erwartete Ausgabe:

苹果4个,香蕉6个,橙子9个

Python re 模块Python-re-Modul

Andere Erweiterungen