J'utilise Notepad++ mais tout éditeur un peu évolué permet les manipulations suivantes.
Par exemple, dans le texte suivant :
"toto, tata, titi, toto1, t1ata, titi1, toto2, t2ata, titi2, toto3, t3ata, titi3"
Je veux remplacer toutes les occurrences du mot tata par tutu tout en conservant le numéro, la difficulté étant que le chiffe est au milieu du mot.
Le rechercher/remplacer devient alors : "Je veux remplacer toutes les occurrences des mots qui contiennent les lettres t.a.t.a. avec un chiffre en deuxième position par t.u.t.u. et mettre le chiffre à la fin".
Cela paraît tout simple dans ce cas là, mais imaginez ce que cela peut donner avec des fichiers de plusieurs milliers de lignes.
La solution est, relativement, simple :
Rechercher/remplacer sur Notepad++ |
Il faut noter que, dans la fenêtre d'option de rechercher/remplacer, on a choisi comme mode de recherche "Expression régulière" que l'expression régulière proprement dite est t(\d?)ata remplacée par tutu$1. Tout cela pourrait être traduit par : "retourne le chiffre, si il y en a un, en deuxième position de la séquence de caractère tata et met le dans la variable $1 que je réutiliserais en dernière position de la séquence de lettre tutu et ce, pour chaque occurrence qui réponds à ces conditions dans le texte"
des utilitaires comme Expresso sont extrêmement précieux pour comprendre ou mettre au point des expressions régulières qui, au départ, peuvent paraître très compliquées mais qui, une fois, que l'on connait le principe, sont extrêmement puissantes pour tout travail sur des chaînes de caractères ou de gros fichiers textes.
Logiciel Expresso |
Si vous souhaitez plus de détail ou des exemples un peu plus parlant, je vous conseille cet article très complet et intéressant Rechercher et remplacer du texte avec Notepad++ et quelques regex
Aucun commentaire:
Enregistrer un commentaire