PaliSkill
Python intermédiaire

Leçon 8 / 9 — Chapitre 6: Chaînes avancées et formatage

re.sub() : remplacer avec une expression régulière

re.sub(motif, remplacement, texte) remplace toutes les portions de texte correspondant au motif par remplacement, et renvoie une nouvelle chaîne — l'équivalent regex de .replace(), mais capable de reconnaître un motif entier plutôt qu'un texte fixe.

import re

texte = "Contact : 07-12-34-56-78"
resultat = re.sub(r"[0-9]", "X", texte)
print(resultat)

Ce code affiche Contact : XX-XX-XX-XX-XX : chaque chiffre individuel ([0-9], sans le + cette fois) est remplacé par "X", un par un.

Contrairement à .replace(), qui ne remplace qu'un texte exact et fixe, re.sub() reconnaît n'importe quelle séquence correspondant au motif, quelle que soit sa valeur précise — utile par exemple pour masquer tous les chiffres d'un numéro sans connaître ce numéro à l'avance.

texte_original = "riz 5, huile 8"
sans_chiffres = re.sub(r"[0-9]+", "N", texte_original)
print(sans_chiffres)

Ce code affiche riz N, huile N : chaque groupe de chiffres ([0-9]+, avec le + cette fois) est remplacé par "N" en un seul bloc, plutôt que chiffre par chiffre.

À vous de jouer : utilisez re.sub(r"[0-9]+", "N", texte) pour remplacer tous les nombres d'une phrase par la lettre "N".

🔒

Continuez ce module

Débloquez les leçons restantes ainsi que la certification finale.

2 500 XOF / 3,81 € / 4,15 $

Débloquez les 85 leçons restantes de ce module

Votre paiement est vérifié avant l'activation de l'accès