Remplacer des caractères avec Regex

Imaginons la chaîne de caractères suivante:

Maintenant utilisons l’opérateur -replace pour remplacer les caractères « ef » avec les caractères « ** ».

Ceci nous donne le résultat suivant: « abc** d ** e ** 123 ». Toutes les instances de « ef » sont remplacées.

Or si nous ne voulions pas remplacer toutes les instances de « ef » mais que la première, nous pouvons le faire ainsi:

Cette commande transforme la chaîne ‘ef’ en un objet regex, et appelle la méthode Replace de la classe. Cette méthode prend trois arguments:

  1. la chaîne input à evaluer
  2. la chaîne utilisée pour remplacer les occurrences trouvées
  3. le nombre d’occurrences à remplacer

Cette commande nous donne le résultat suivant: « abc** d ef e ef 123 »

Maintenant essayons de ne remplacer que la dernière occurrence de ‘ef’ dans la chaîne.

Pour ceci nous allons utiliser une expression régulière un peu plus compliquée:

 Cette expression ‘ef(?!.*ef)’ veut dire ceci: remplacer la chaîne ‘ef’ dont les caractères suivants ne contiennent pas à nouveau la chaîne ‘ef’, donc la dernière: (?!.*ef)

Et le résultat est : « abcef d ef e ** 123 »

Partager ce contenu