web-dev-qa-db-fra.com

Comment supprimer des lignes spécifiques dans Notepad ++?

Je nettoie des fichiers de code (C #) et je souhaite supprimer les régions. Et je voudrais supprimer toutes les lignes qui ont la chaîne '#region'. Ce n'est qu'un exemple, et je peux penser à plusieurs autres utilisations, mais est-ce même possible?

92
Rismo

Vous pouvez utiliser le menu Rechercher -> Remplacer ... (Ctrl + H).

Il dispose d'une fonctionnalité d'expression régulière pour remplacer. Vous pouvez utiliser une expression régulière qui correspond à #region ainsi qu'à tout ce qui se trouve sur la ligne et la remplacer par un espace vide.

37
John T

Notepad ++ v6.5

  1. Recherche menu -> Rechercher ... -> Marque onglet -> Trouver quoi: votre texte de recherche , cochez la case Ligne du signet, puis Marquer tout. Ceci mettra en signet toutes les lignes avec le terme recherché, vous verrez les cercles bleus dans la marge.

  2. Puis Recherche menu -> Signet -> Supprimer les lignes marquées d'un signet. Cela supprimera toutes les lignes marquées d'un signet.

Vous pouvez également utiliser une expression rationnelle pour effectuer une recherche. Cette méthode ne donnera pas une ligne vierge comme celle de John et supprimera la ligne.

Anciennes versions

  1. Recherche menu -> Trouver ... -> Trouver quoi: votre texte de recherche , cochez Ligne de signet et cliquez Rechercher tout.
  2. Alors Rechercher -> Signet -> Supprimer les lignes marquées d'un signet
271
Ray

Voici un moyen qui supprime complètement les lignes contenant "YOURTEXT":

  • Ouvrir la boîte de dialogue Remplacer
  • Entrez la chaîne de recherche suivante: .*YOURTEXT.*[\r]?[\n] _ (remplace YOURTEXT par votre texte)
  • Activer "Expression régulière"
  • Désactiver ". Correspond à la nouvelle ligne"

L'expression régulière donnée correspond aux fins de lignes Windows et Unix.

Si votre texte contient des caractères qui ont une signification particulière pour les expressions régulières, comme la barre oblique inverse, vous devrez les échapper.

3
ocroquette

C'est la fonctionnalité la plus courante de Notepad ++ que j'utilise pour mettre à jour mon code.

Tout ce que vous devez faire c'est:

  • Sélectionnez la chaîne commune présente dans toutes les lignes.
  • Presse Ctrl + F
  • Dans l'onglet Mark , collez la chaîne récurrente et vérifiez la ligne de signet case à cocher.
  • Cliquer sur Mark All
  • Maintenant, allez au menu Recherche Signet Supprimer les lignes marquées d'un signet

Vous pouvez vous référer à ce lien pour une explication imagée.

http://www.downloadorinstall.com/best-notepad-tips-and-tricks-for-faster-work-and-development/

3
Rishabh Pant

La réponse de Jacob à John T fonctionne parfaitement pour supprimer toute la ligne, et vous pouvez trouver dans les fichiers avec cela. Assurez-vous de cocher "Expression régulière" en bas.

Solution: ^.*#region.*$

2
Nick

Examinez quelle est votre EOL,\n ou\r\n. Puis remplacez .*#region.*\r\n avec rien en mode regexpr.

1
Val

Vous pouvez essayer de remplacer #region avec\n, en activant le mode de recherche étendue.

0
northpole

En utilisant regex et find & replace, vous pouvez supprimer toutes les lignes contenant #region sans laisser de lignes vides. Parce que pour une raison quelconque, la méthode de Ray n'a pas fonctionné sur ma machine, j'ai cherché (.*#region.*\n)|(\n.*#region.*) et laissé la case de remplacement vide.

Cette regex assure que le if #region est trouvé sur la première ligne, la nouvelle ligne de fin est supprimée et si elle se trouve sur la dernière ligne, la nouvelle ligne précédente est supprimée.

Pourtant, la solution de Ray est la meilleure si elle fonctionne pour vous.

0
George