Fonction Google Sheets : REGEXREPLACE

La fonction REGEXREPLACE remplace une ou plusieurs parties d'un texte en utilisant des expressions régulières.

Utilisation :

=REGEXREPLACE(texte; expression_régulière; remplacement)

Si vous ne savez pas ce qu'est une expression régulière ou si vous ne savez pas comment en écrire une, commencez par bien lire le tutoriel complet qui accompage la fonction REGEXMATCH avant de poursuivre (ceci afin de vous éviter quelques maux de tête à la lecture de certaines regex de cette page).

Remplacement simple

La fonction REGEXREPLACE remplace ici le mot "amusant" par le mot "drôle" :

=REGEXREPLACE(A2;"amusant";"drôle")

google sheets fonction regexreplace mot

Le problème avec cette formule est que si le texte contient le mot "amusante", il sera remplacé par "drôlee" (comme vous pouvez le voir dans la cellule colorée).

Pour éviter cela, il faut donc préciser que "amusant" peut être suivi par un "e" :

=REGEXREPLACE(A2;"amusante?";"drôle")

google sheets fonction regexreplace mots

Suppression de caractères

Pour supprimer tous les caractères non numériques (pour conserver par exemple uniquement les numéros de téléphone), entrez la regex "\D" et remplacez ces caractères par une chaîne vide "" :

=REGEXREPLACE(A2;"\D";"")

google sheets fonction regexreplace numeros telephone

Remplacer les adresses email

La formule suivante permet de détecter et remplacer les adresses email (cette regex est détaillée dans l'un des exemples de la fonction REGEXMATCH) :

=REGEXREPLACE(A2;"[\w.-]+@[\w.-]{2,}\.[a-z]{2,}";"[adresse email retirée]")

google sheets fonction regexreplace remplacer email

Pour retirer uniquement la première partie de l'adresse email et la remplacer par "xxxxxx", entourez la seconde partie à conserver par des parenthèses et ajoutez-la dans l'adresse email de remplacement à l'aide de $1 :

=REGEXREPLACE(A2;"[\w.-]+(@[\w.-]{2,}\.[a-z]{2,})";"xxxxxx$1")

google sheets fonction regexreplace masquer email
$1 retourne la valeur de la première paire de parenthèses, $2 retourne la valeur de la seconde paire de parenthèses et ainsi de suite.

Modifier le format de dates

L'objectif ici est de convertir des dates au format US (année/mois/jour) vers le format EU (jour/mois/année) :

=REGEXREPLACE(A2;"^(20[0-9]{2})\W?([0-1]?[0-9])\W?([0-3]?[0-9])$";"$3/$2/$1")

Pour valider cette regex le texte doit :

  • ^(20[0-9]{2}) : commencer par un nombre entre 2000 et 2099 (parenthèses = $1 dans la valeur de remplacement)
  • \W? : être suivi ou non par un caractère non alphanumérique
  • ([0-1]?[0-9]) : être suivi par un nombre à 1 ou 2 chiffres (parenthèses = $2 dans la valeur de remplacement)
  • \W? : être suivi ou non par un caractère non alphanumérique
  • ([0-3]?[0-9])$ : être suivi (et se terminer) par un nombre à 1 ou 2 chiffres (parenthèses = $3 dans la valeur de remplacement)
google sheets fonction regexreplace format date
Toutes les dates de cet exemple sont au format texte.