Méthode re.sub() de Python
re.sub()est Pythonrefonction du module pourremplacer les éléments correspondants.
Il trouve toutes les sous-chaînes correspondantes dans la chaîne et les remplace par le contenu spécifié.
Signification du mot: subest l'abréviation de substitute (remplacer).
Syntaxe de base et paramètres
Format de syntaxe
re.sub(pattern, repl, string, count=0, flags=0)
Description du paramètre
- pattern: l'expression régulière à faire correspondre
- repl: le texte de remplacement, qui peut être une chaîne ou une fonction
- string: la chaîne d'origine
- count: le nombre maximal de remplacements ; 0 signifie tout remplacer
- flags: les options d'expression régulière
Description de la fonction
- Valeur de retour: renvoie la nouvelle chaîne après remplacement.
Exemples
Exemple 1 : Remplacement de base
Exemple
import re
text = "Python est bien, Python est génial"
# Remplacer Python par Java
result = re.sub(r'Python', 'Java', text)
print(result)
text = "Python est bien, Python est génial"
# Remplacer Python par Java
result = re.sub(r'Python', 'Java', text)
print(result)
Sortie attendue :
Java is good, Java is great
Exemple 2 : Remplacer un nombre spécifié de fois
Exemple
import re
text = "Python est bien, Python est génial"
# Remplacer uniquement le premier
result = re.sub(r'Python', 'Java', text, count=1)
print(result)
text = "Python est bien, Python est génial"
# Remplacer uniquement le premier
result = re.sub(r'Python', 'Java', text, count=1)
print(result)
Sortie attendue :
Java is good, Python is great
Exemple 3 : Remplacer à l'aide d'une expression régulière
Exemple
import re
text = "Mon numéro de téléphone est 138-1234-5678"
# Remplacer les 4 chiffres du milieu du numéro de téléphone par ****
result = re.sub(r'\d{4}', '****', text)
print(result)
text = "Mon numéro de téléphone est 138-1234-5678"
# Remplacer les 4 chiffres du milieu du numéro de téléphone par ****
result = re.sub(r'\d{4}', '****', text)
print(result)
Sortie attendue :
我的手机号是 138-****-5678
Exemple 4 : Utilisation de références de groupe
Exemple
import re
text = "2024-04-02"
# Échanger l'ordre de l'année, du mois et du jour
result = re.sub(r'(\d{4})-(\d{2})-(\d{2})', r'\3/\2/\1', text)
print(result)
text = "2024-04-02"
# Échanger l'ordre de l'année, du mois et du jour
result = re.sub(r'(\d{4})-(\d{2})-(\d{2})', r'\3/\2/\1', text)
print(result)
Sortie attendue :
02/04/2024
Exemple 5 : Utilisation d'une fonction comme contenu de remplacement
Exemple
import re
text = "3 pommes, 5 bananes, 8 oranges"
# Remplacer les nombres par nombre + 1
def add_one(match):
return str(int(match.group()) + 1)
result = re.sub(r'\d+', add_one, text)
print(result)
text = "3 pommes, 5 bananes, 8 oranges"
# Remplacer les nombres par nombre + 1
def add_one(match):
return str(int(match.group()) + 1)
result = re.sub(r'\d+', add_one, text)
print(result)
Sortie attendue :
苹果4个,香蕉6个,橙子9个
Autres extensions
Module re de Python