Méthode Regex Replace en Python

Muhammad Waiz Khan 18 juillet 2021
Méthode Regex Replace en Python

Dans ce tutoriel, nous examinerons l’utilisation et le fonctionnement de la méthode re.sub() et examinerons les exemples de codes. Le module re de Python fournit les différentes fonctionnalités utilisant l’expression régulière pour les chaînes Unicode et 8 bits. Les fonctionnalités incluent le remplacement de chaîne, le fractionnement et la correspondance, etc.

Regex Replace en utilisant la méthode re.sub() en Python

La méthode re.sub(pattern, repl, string, count=0) prend la string comme entrée et remplace les occurrences les plus à gauche du pattern par le repl. Si aucun pattern n’est trouvé dans l’argument string, la string est renvoyée sans aucune modification.

L’argument pattern doit être sous la forme d’une expression régulière. Le repl peut être une chaîne ou une fonction. Si l’argument repl est une chaîne, alors le pattern dans la string est remplacé par la chaîne repl. Si une fonction est passée comme argument repl, alors la fonction sera appelée chaque fois qu’une occurrence du pattern est trouvée. La fonction prend le matchObject comme entrée et renvoie la chaîne de remplacement. Le matchObject aura sa valeur égale à True si la correspondance est trouvée et aura sa valeur égale à None sinon.

L’argument optionnel count représente le nombre maximum d’occurrences du pattern que nous voulons remplacer dans la string.

L’exemple de code ci-dessous montre comment utiliser la méthode re.sub() pour remplacer un modèle de la chaîne en utilisant l’expression régulière:

import re

string = "Hello! How are you?! Where have you been?!"
new_string = re.sub(r"""[!?'".<>(){}@%&*/[/]""", " ", string)
print(new_string)

Production:

Hello  How are you   Where have you been  

L’exemple de code ci-dessus supprime les caractères spécifiés dans l’argument pattern avec l’espace vide, qui est notre argument repl dans le code ci-dessus.

Nous pouvons également utiliser la fonction comme argument repl pour effectuer la même tâche en retournant " " chaque fois qu’une occurrence de l’argument repl est trouvée, comme indiqué dans l’exemple de code ci-dessous:

import re


def repl_func(match):
    if match == True:
        return " "


string = "Hello! How are you?! Where have you been?!"
new_string = re.sub(r"""[!?'".<>(){}@%&*/[/]""", repl_func, string)
print(new_string)

Production:

Hello How are you Where have you been

Article connexe - Python Regex