Notepad++ expression régulière - Logiciels - Windows & Software
Marsh Posté le 25-08-2023 à 15:22:42
Chaine recherchée :
^([^|]*)\|([^|]*)\|([^|]*)\|([^|]*)\|1\|([^\n]*)\n |
Chaine de remplacement :
\1\|\2\|\3\|\4\|MARQUE\|\5\n |
Le ^ pour indiquer un début de ligne, le \n pour indiquer le passage à la ligne suivante
On échappe le |
([^|]*)\|, on prend tous les caractères jusqu'au prochain |, les parenthèses pour les récupérer avec son indice par la suite, le \1 par exemple pour la chaine de remplacement, le [^\|] correspond à n'importe quel caractères sauf le | (que l'on oublie pas d'échapper) et le * pour lui indiquer qu'il peut y en avoir plusieurs jusqu'au 1 que tu veux et la même chose avec le saut de ligne pour la fin de la ligne
J'ai mis MARQUE en remplacement du 1 mais tu mets ce que tu veux, voir supprimer directement la ligne
Demande si c'est pas trop clair
Marsh Posté le 25-08-2023 à 14:27:57
Bonjour à tous,
Après plusieurs recherches concernant les expressions régulières je n'ai pas réussi à trouver la solution à mon problème.
Ex : extrait d'un long fichier (avec champs séparés par |)
L522467583|1_PRD1|4_71S13|06/12/2022|2|10/12/2022|1|654244|654244_5_1|25.0|0
E1795508|1_OBSTK|4_35P20|18/11/2022|1|24/11/2022|1|AT12022|AT12022_7_1|1.0|0
L521810671|1_PRD1|4_92S12|22/06/2022|2|26/06/2022|1|654553|654553_7_1|80.0|0
V51414129|1_PRD1|4_79S06|27/07/2022|1|31/07/2022|1|683503|683503_7_1|60.0|0
E1725995|1_OBSTK|4_33P20|07/04/2022|2|28/04/2022|1|AT14906|AT14906_7_1|1.0|0
Je voudrais pouvoir marquer (afin de les supprimer ensuite) les lignes dans lesquelles il y a "1" dans le 5ème champ, ce qui marquerait dans l'exemple la ligne 2 et la ligne 4.
Je suppose que c'est possible via les expressions régulières mais je n'arrive pas à trouver comment.
Merci pour vos réponses
Antoine