Aller au contenu

Recherche et remplacement dans un fichier TXT


Messages recommandés

J'ai besoin d'automatiser un rechercher/remplacer assez simple dans des fichiers .TXT.

 

Il s'agit d'une part de remplacer tous les "|" par des "," (ou éventuellement par des TAB (ASCII 9). Et d'autre par de faire l'opération inverse, remplacer les "," ou les TAB (ASCII9) par des "|".

 

Actuellement pour me dépanner j'utilise tout simplement WORD et sa fonction rechercher/remplacer mais ce passage par WORD est une étape un peu idiote et qui fait très "usine à gaz". L'idéal serait de générer un petit soft autonome qui réalise l'opération en un clic.

 

J'ai déjà abordé ce problème ici (voir : http://www.blue-hardware.com/forum/index.php?showtopic=20245 ) mais la solution proposée à l'époque (AUTOIT) ne convenait pas vraiment.

Lien vers le commentaire
Partager sur d’autres sites

Résolu !

 

Comme je ne trouvais aucune solution, j'ai fini par écrire une petite moulinette en QBASIC compilé et ça fonctionne.

 

Le compilateur date des années 90 mais il fonctionne toujours très bien et les EXE qu'il produit fonctionnent sans problème sous Windows XP.

 

La dernière fois que je l'ai utilisé c'était en MS-DOS 3.30 sur un 80286 :lol: , sur un P4 2,8 c'est fou comme la compilation a l'air plus rapide. :D

Lien vers le commentaire
Partager sur d’autres sites

Voici le coeur du programme. J'ai viré tous les truc accessoires autour pour ne laisser que la partie qui effectue la rechercher/remplacer.

 

OPEN f$ FOR INPUT AS #1

OPEN f2$ FOR OUTPUT AS #2

nbr = 0

DO UNTIL EOF(1) = -1

nbr = nbr + 1

LINE INPUT #1, a$

l = LEN(a$)

b$ = ""

FOR x = 1 TO l

IF MID$(a$, x, 1) = "|" THEN b$ = b$ + CHR$(9) ELSE b$ = b$ + MID$(a$, x, 1)

NEXT x

PRINT #2, b$

LOOP

PRINT nbr;" enregistrements traités."

CLOSE #2

CLOSE #1

Lien vers le commentaire
Partager sur d’autres sites

Merci Moustique :biere:

 

en fait, je commence à m'interresser aux différents languages :)

 

du java en cours.

du VBS pour faire des choses foireuses :frenchy:

et Axtrane m'a expliqué comment faire un batch pour faire un netsend en boucle (tres utile à la fac :yais: :lapin: )

Lien vers le commentaire
Partager sur d’autres sites

en fait, je commence à m'interresser aux différents languages :)

Ne t'intéresse pas trop à celui-là, je dois être la seule personne au monde à l'utiliser encore en 2006. :lol:

:frenchy: ok, mais ça m'a permis de voir un peu la structure :respect:

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...