Comment supprimer des lignes sans «.» dans le Bloc-notes ++? [dupliquer]


11

Dans Notepad ++, j'ai plusieurs lignes au format:

abc.xyz

où "abc" peut avoir un espace ou - ou des nombres.

Comment supprimer des lignes sans "."? Donc, si une ligne n'a pas de ".", Je veux qu'elle soit complètement supprimée, ne laissez même pas une ligne vide.

Réponses:


40

Comment supprimer des lignes sans .?

  • Menu "Rechercher"> "Remplacer" (ou Ctrl+ H)

  • Réglez "Find what" sur ^[^\.]*\r\n

    • Vous pouvez remplacer \r\npar différentes expressions régulières EOL (End of Line) en fonction des EOL de votre fichier (voir «J'ai un EOL différent dans mon fichier, que puis-je faire?» Et «Je me fiche des EOL que mon fichier utilise , que puis-je faire? "ci-dessous).
  • Désélectionnez "Remplacer par"

  • Activer "Expression régulière"

  • Cliquez sur "Remplacer tout"

    Image

Remarques:

  • Ce qui précède suppose que la dernière ligne du fichier a une fin de ligne de commande.

  • Ce qui précède suppose également que vous modifiez un fichier texte avec de Windows EOL, \r\n.

Avant :

abc.xyz
abcdef
abc 123.xyz
abc 123def

Après :

abc.xyz
abc 123.xyz

J'ai un EOL différent dans mon dossier, que puis-je faire?

  • Windows EOL est \r\n.

  • Si vous utilisez des fichiers avec un EOL différent, vous pouvez les convertir en EOL Windows en utilisant le menu "Edition"> "Conversion EOL".

  • Si vous ne travaillez pas avec les EOL Windows et que vous ne souhaitez pas les convertir, utilisez plutôt ce qui suit:

    • Utiliser \nau lieu de \r\npour les EOL Unix / OS X

    • Utiliser \rau lieu de \r\npour Mac OS (jusqu'à la version 9) EOL


Je ne sais pas ou ne me soucie pas des EOL que mon fichier utilise, que puis-je faire?

  • Vous pouvez utiliser \Rou (?:\r\n?|\n)ou (?:\r?\n?)au lieu de \r\n. Cela permet de contourner tout problème avec les EOL réellement utilisés dans le fichier.

  • Vous pouvez également utiliser (?:\r?\n?|$). Cette expression fonctionnera s'il n'y a pas de fin de vie dans la dernière ligne du fichier.


Lectures complémentaires


5
Vous pouvez utiliser \ R pour faire correspondre n'importe quel saut de ligne.
— user694733

@ user694733 Veuillez expliquer? \rne correspond pas à l'EOL sous Windows. Si vous supprimez le, \nvous vous retrouvez avec des lignes vides. OP a déclaré "Je veux qu'il soit complètement supprimé, ne laissez même pas une ligne vide."
— DavidPostill

Les majuscules R. N ++ utilisent PCRE qui a ceci comme une classe de caractères spéciale si ma mémoire est bonne.
— user694733

@ user694733 Ah. D'ACCORD. Testé et ça marche.
— DavidPostill

regex101.com est un meilleur site pour apprendre les regex que regexexr
— cat

14

La réponse acceptée est correcte, mais vous n'aurez pas toujours regex prêt. Je présente donc une solution plus simple.

  1. Ctrl+ F- cliquez sur l'onglet Mark
  2. Réglez "Find what" sur .
  3. Cochez l'option "Bookmark line" (gracieuseté de Wrass)
  4. Mode de recherche = Normal
  5. Cliquez sur Tout marquer -> Vous devriez voir un cercle bleu à côté des numéros de ligne marqués d'un signet.
  6. Ensuite, accédez au menu Rechercher -> Signet -> Supprimer les lignes non marquées.

Il s'agit d'une alternative simple et agréable, mais vous voudrez peut-être mentionner que vous devez également cocher l'option «Marque-page» dans la boîte de dialogue Marquer. Sinon, toutes les lignes seront supprimées.
— Wrass

Bon point, mon bloc-notes s'en est souvenu de la dernière fois, alors j'ai oublié ça.
— Zikato

J'utilise regex tout le temps, mais j'utiliserais toujours cette méthode pour sa simplicité. Avertissement: J'utilise également beaucoup les différentes fonctions de signet dans Notepad ++.
— JPhi1618

Puisque vous n'êtes pas satisfait de votre mise en forme, j'ai soumis une modification que je pense que vous trouverez plus agréable. N'hésitez pas à le rejeter ou à revenir en arrière si vous n'êtes pas d'accord.
— jpmc26
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.