Affichage des articles dont le libellé est Fichier. Afficher tous les articles
Affichage des articles dont le libellé est Fichier. Afficher tous les articles

mercredi 26 décembre 2012

Les rechercher/remplacer complexes

Tout éditeur de texte a la fonction rechercher/remplacer, aussi essentielle que le copier/coller. En utilisant conjointement cette fonction avec les expressions régulières, on peut aller très loin dans l'édition de texte et ainsi économiser de longues séances de rechercher/remplacer à la chaîne.
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 

mercredi 19 septembre 2012

TeraCopy


TeraCopy un petit utilitaire pour accélérer les copies de fichiers sur Windows


vendredi 31 décembre 2010

Remplacer des retour chariot dans un fichier

Utiliser une éditeur de texte évolué type Notepad++ :

  1. Ouvrir le fichier
  2. CTRL+H pour ouvrir les options de remplacement
  3. Dans le panel Search mode cocher Extended pour activer la prise en charge des caractères spéciaux
  4. Saisir \r\n pour désigner les retours chariots à rechercher
  5. Saisir le motif de remplacement
  6. Replace All et c'est tout!


Les meilleurs voeux du boulatin programmeur ;)