Je cherche une regexp notepad++ qui contient une chaîne spécifique. Je veux ensuite supprimer cette ligne entière.
Réponses
Trop de publicités?Eh bien, je ne pense pas que vous puissiez le faire avec un seul recherche-remplacement.
Je ferais ça.
Ouvrez la recherche-remplacement, choisissez le mode regex et recherchez :
^.*(string).*$
et que le remplaçant soit \1 (c'est la chaîne qui marque les lignes que vous ne voulez pas). Cela laissera des lignes avec seulement la chaîne indésirable et rien d'autre.
Passez ensuite à la recherche étendue et recherchez \r\nstring
et laissez le remplacement en blanc. Cela supprimera les lignes contenant uniquement la chaîne indésirable.
Il y a probablement un moyen plus propre de le faire, mais celui-ci fonctionne.
Edit : et oh, vérifiez également la première ligne du document pour trouver une ligne contenant uniquement la chaîne indésirable, car cela les manquera. Comme dit, il y a probablement un meilleur moyen ;)
Je voulais donc supprimer une ligne entière si elle contenait l'un de ces trois mots : LAB, RAD, TRAN. J'ai donc effectué un "rechercher et remplacer" dans Notepad++ en faisant correspondre la ligne entière si elle contient l'un de ces mots. De plus, je fais correspondre la nouvelle ligne ( \n ) et le retour chariot ( \r ) et a remplacé l'ensemble par des caractères vides (c'est-à-dire rien). De cette façon, lorsqu'il effectue le remplacement, il supprime tout le texte, y compris les caractères cachés qui vous donnent une nouvelle ligne. Cela permet de ne pas laisser une ligne vide après le remplacement.
REGEX :
.*((LAB)|(RAD)|(TRAN)).*\r\n