311 votes

Trouver les CRLF dans Notepad++

Comment trouver/remplacer tous les caractères CRLF dans notepad++ ? Je cherche quelque chose d'équivalent au caractère spécial ^p dans Word.

402voto

VonC Points 414372

[\r\n]+ devrait également fonctionner

Mise à jour du 26 mars 2012, date de sortie de Notepad++ 6.0 :

OMG, ça marche vraiment maintenant !!!

PCRE regexp in Notepad++


Réponse originale 2008 (Notepad++ 4.x) - 2009-2010-2011 (Notepad++ 5.x)

En fait non, cela ne semble pas fonctionner avec les regexp...

Mais si vous avez Notepad++ 5.x, vous pouvez utiliser l'option ' étendu et recherchez \r\n . Cela permet de trouver tous vos CRLF .

(Je réalise que c'est la même réponse que les autres, mais encore une fois, le 'mode étendu' n'est disponible qu'avec Notepad++ 4.9, 5.x et plus).


Depuis avril 2009, vous disposez d'un article wiki sur le site Notepad++ à ce sujet :
" Comment remplacer les extrémités de ligne, modifiant ainsi la disposition de la ligne ".
(mentionné par georgiecasey dans son réponse ci-dessous )

Certains extraits pertinents comprennent les processus de recherche suivants :

Recherche simple ( Ctrl + F ), Mode de recherche = Normal

Vous pouvez sélectionner un EOL dans la fenêtre d'édition.

  • Il suffit de déplacer le curseur à la fin de la ligne, et de taper Shift + Right Flèche.
  • ou, pour sélectionner EOL à l'aide de la souris, commencez juste à la fin de la ligne et faites glisser jusqu'au début de la ligne suivante ; en faisant glisser vers la droite de l'icône EOL ne fonctionnera pas. Vous pouvez copier manuellement le EOL et le coller dans le champ pour les fichiers Unix ( LF -seulement).

Recherche simple (Ctrl+F), Mode de recherche = étendu

L'option "étendue" montre \n et \r comme des caractères qui pourraient être appariés.
Comme pour le mode de recherche normal, Notepad++ recherche le caractère exact.
A la recherche de \r dans un fichier au format UNIX ne trouvera rien, mais la recherche de \n sera. De même, un fichier au format Macintosh contiendra \r mais pas \n .

Recherche simple (Ctrl+F), Mode de recherche = expression régulière

Les expressions régulières utilisent les caractères ^ et $ pour ancrer la chaîne de correspondance au début ou à la fin de la ligne. Par exemple, la recherche de return;$ trouvera les occurrences de "return ;" qui ne sont pas suivies de texte sur la même ligne. Les caractères d'ancrage fonctionnent de manière identique dans tous les formats de fichiers.
Le métacaractère point '.' ne correspond pas aux fins de ligne.

[Testé dans Notepad++ 5.8.5] : une recherche par expression régulière avec une \r ou \n ne fonctionne pas (contrairement à la Documentation Scintilla ) .
Une recherche sur un LF explicite (collé) ou sur les caractères EOL (invisibles) placés dans le champ lorsqu'un EOL est sélectionné ne fonctionne pas non plus. Recherche avancée ( Ctrl + R ) sans regexp

Ctrl + M va insérer quelque chose qui correspond aux nouvelles lignes. Elles seront remplacées par la chaîne de remplacement.
Je recommande cette méthode comme étant la plus fiable, à moins que vous n'ayez vraiment besoin d'utiliser les regex.
Par exemple, pour supprimer un saut de ligne sur deux dans un fichier à double interligne, tapez Ctrl + M deux fois dans le champ de la chaîne de recherche, et une fois dans le champ de la chaîne de remplacement.

Recherche avancée ( Ctrl + R ) avec Regexp.

Ni l'un ni l'autre Ctrl + M , $ ni \r\n sont appariés.


Le même wiki mentionne également le Alternative à l'éditeur hexagonal :

  • Tapez la nouvelle chaîne au début du document.
  • Sélectionnez ensuite pour visualiser le document en mode Hex .
  • Sélectionnez l'une des nouvelles lignes et appuyez sur Ctrl + H .
  • Pendant que la boîte de dialogue Remplacer est ouverte, sélectionnez sur l'arrière-plan la nouvelle chaîne de remplacement et Ctrl + C copiez-le pour le coller dans l'entrée Remplacer par du texte.
  • Ensuite, remplacez ou remplacez tout selon votre choix.

Remarque : le caractère sélectionné pour la nouvelle ligne apparaît généralement sous la forme suivante 0a .
La valeur peut être différente si le fichier est au format Windows. Dans ce cas, vous pouvez toujours aller à Edit -> EOL Conversion -> Convert to Unix Format et après le remplacement, remettez-le en place et Edit -> EOL Conversion -> Convert to Windows Format .

22voto

sundar Points 2271

Il semble qu'il s'agisse d'un FAQ et la résolution proposée est la suivante :

Recherche simple (Ctrl+H) sans regexp

Vous pouvez activer l'option Afficher/Montrer la fin de la ligne ou Afficher/Afficher tout, et sélectionner les caractères de nouvelle ligne maintenant caractères de fin de ligne visibles. Ensuite, lorsque vous lancez la commande, certains caractères correspondant au caractère de nouvelle ligne seront seront collés dans le champ de recherche. Les caractères correspondant à seront remplacées par la chaîne replace contrairement au mode regex.

Note 1 : Si vous les sélectionnez avec la souris, commencez juste avant eux et faites jusqu'au début de la ligne suivante. Faire glisser jusqu'à la fin de la ligne ne fonctionnera pas. ne fonctionnera pas.

Note 2 : Vous ne pouvez pas copier et coller dans le champ vous-même.

Recherche avancée (Ctrl+R) sans regexp

Ctrl+M insérera quelque chose qui correspond aux nouvelles lignes. Elles seront remplacées par la chaîne de remplacement.

10voto

Nathen Silver Points 178

Dans la boîte de dialogue Remplacer, vous devez définir le mode de recherche sur "Étendu". Les modes Normal ou Expression régulière ne fonctionnent pas.

Ensuite, il suffit de trouver " \r\n "(ou simplement \n pour les fichiers unix ou simplement \r pour les fichiers au format Mac), et définissez le remplacement comme vous le souhaitez.

9voto

Je n'ai pas eu beaucoup de chance avec \r\n des expressions régulières à partir de la fenêtre de recherche/remplacement.

Cependant, cela fonctionne dans Notepad++ v4.1.2 :

  1. Utilisez le menu "View | Show end of line" pour activer l'affichage des caractères de fin de ligne. (Les retours à la ligne doivent apparaître sous la forme d'un seul caractère CRLF ombré).

  2. Sélectionnez l'un des "caractères" CRLF (placez le curseur juste devant l'un d'entre eux, maintenez la touche SHIFT enfoncée, puis appuyez une fois sur la touche CURSEUR DROIT).

  3. Copiez le caractère CRLF dans le presse-papiers.

  4. Assurez-vous que vous Ne le fais pas. avoir la boîte de dialogue de recherche ou de recherche/remplacement ouverte.

  5. Ouvrez la boîte de dialogue Rechercher/Remplacer. Le champ "Rechercher quoi" affiche le contenu du presse-papiers : dans ce cas, le caractère CRLF - qui apparaît comme 2 "caractères de boîte" (il s'agit probablement d'un caractère non imprimable).

  6. Assurez-vous que l'option "Expression régulière" est désactivée.

Vous devriez maintenant être en mesure de compter, trouver ou remplacer comme vous le souhaitez.

4voto

Chris Points 31

La façon dont je l'ai trouvé pour fonctionner est en utilisant la fonction de remplacement, et en utilisant " \n "avec le mode "Extended". J'utilise la version 5.8.5.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X