Supprimer tout le texte apres un caractère définis

Fermé
goualman - 2 sept. 2019 à 14:29
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 4 sept. 2019 à 09:44
Bonjour,


J'ai un document de plusieurs centaines de lignes du type xxx:yyy | AAA (avec des retours a la ligne a chaque fois)
je souhaiterai supprimer le caractère "I" et le texte qui suit ce caractère sur l'ensemble du document.

Merci de m'aider!
A voir également:

3 réponses

[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié le 2 sept. 2019 à 19:38
Salut goualman,

Tu peux utiliser n''importe quel éditeur qui supporte les expressions régulières (regexp) et lui demander de chercher
\s+\|\s+.*$
et le remplacer par du vide.

Tu peux voir cette regexp en action là : https://regex101.com/r/vZaC37/1

où tu vois qu'elle remplace :

xxx:yyy | AAA GJGJDJG JHGJGJGJ
xxx:yyy | AAA KJHKHDKJHK JKHKJHD
xxx:yyy | AAA KKJHDJKHKJKF 
xxx:yyy | AAA KJHKDHKDFKJDHKJHK

par :
xxx:yyy
xxx:yyy
xxx:yyy
xxx:yyy


Cette regexp recherche un ou plusieurs espaces suivis d'un caractère pipe (la barre verticale | produite par AltGr-6 sur nos claviers français) suivi d'un ou plusieurs espaces, suivis de n'importe quoi jusqu'à la fin de la ligne. Elle fonctionne donc à condition qu'il n'y ait qu'un seul caractère pipe entouré d'espace(s) avant ou après ce caractère sur chaque ligne et ne contrôle pas le format de ce qu'il y a avant le caractère pipe et le ou les espace(s) qui le précède(nt) immédiatement.

Notepad++, gvim, peuvent faire cela, etc.

Tu peux aussi juste utiliser le lien https://regex101.com/r/vZaC37/1 copier tes centaines de lignes dans la partie supérieure à la place de mes données de test, et récupérer le résultat dans la partie inférieure sans avoir à installer un de ces éditeurs de texte ni apprendre à t'en servir.

Cependant, je ne peux que te recommander d'apprendre à de servir de ces outils et des regexp.

Dal
1
bonjour,

Cela fonctionne parfaitement!!!!! Merci beaucoup pour le temps que vous avez pris pour m'aider! :)
0
bonjour,

Cela fonctionne parfaitement!!!!! Merci beaucoup pour le temps que vous avez pris pour m'aider! :)

Je viens de me rendre compte que certaines lignes présentes plusieurs caractères pipes, comment faire pour que l'ensemble du texte qui précede le 1er cacatere pipe soit effacé? (ou ne conserver que la 1ere partie avant le caracyere pipe)

ex:
xxx:yyy | AAA | GJGJDJG | JHGJGJGJ
en
xxx:yyy

merci d'avance!
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié le 4 sept. 2019 à 09:47
De rien, content que cela te serve.

En fait, s'il n'y a pas de caractère pipe dans la partie que tu veux garder "xxx:yyy", le fait qu'il y ait plusieurs caractères pipe dans le reste n'est pas problématique, car la regexp "consomme" la totalité de la ligne dès qu'elle rencontre le premier pipe entouré d'un ou plusieurs espaces. Tout le reste jusqu'à la fin de la ligne est couvert par la regexp.

Tu peux voir un exemple avec la même regexp
\s+\|\s+.*$
là :

https://regex101.com/r/vZaC37/2

où :

xxx:yyy | AAA GJGJDJG JHGJGJGJ
xxx:yyy | AAA KJHKHDKJHK JKHKJHD
xxx:yyy | AAA KKJHDJKHKJKF 
xxx:yyy | AAA | GJGJDJG | JHGJGJGJ 
xxx:yyy | AAA KJHKDHKDFKJDHKJHK

donne bien :

xxx:yyy
xxx:yyy
xxx:yyy
xxx:yyy
xxx:yyy


Si tu as un ou plusieurs caractères pipe entouré(s) d'un ou plusieurs espaces dans la partie que tu veux garder, il nous faut plus d'informations sur ce qui s'y trouve pour les distinguer et faire une regexp adaptée matchant cette première partie que tu veux garder intacte.
0
yg_be Messages postés 22692 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 avril 2024 1 471
2 sept. 2019 à 14:33
bonjour, peux-tu nous en dire plus?
s'agit-il d'un document électronique?
0
il s'agit d'un document texte
0
yg_be Messages postés 22692 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 avril 2024 1 471
2 sept. 2019 à 15:33
sur un ordinateur utilisant quel logiciel? quelles sont tes connaissances en programmation? de quels outils disposes-tu? n'hésite pas à donner quelques informations.
0
ce document se trouve sur le bloc note tout simplement, mais je possède la pack office ( word exel ) je n'ai que tres peut de notion en programmation.

Je ne sais pas quel outil est le plus simple pour réaliser cela..
0