web-dev-qa-db-fra.com

Trouver CRLF dans Notepad ++

Comment trouver/remplacer tous les caractères CR/LF dans Notepad ++?

Je recherche quelque chose d’équivalent au caractère spécial ^ p de Microsoft Word.

301
polara

[\r\n]+ devrait aussi fonctionner

Mise à jour du 26 mars 2012, date de publication de Notepad ++ 6.:

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 regexp ...

Mais si vous avez Notepad ++ 5.x, vous pouvez utiliser le mode de recherche ' étendu ' et rechercher \r\n. Cela trouve tous vos CRLFname__.

(Je me rends compte 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 avez un article wiki sur le site Notepad ++ sur ce sujet:
"Comment remplacer les fins de ligne, modifiant ainsi la disposition des lignes".
(mentionné par georgiecasey dans son réponse ci-dessous )

Certains extraits pertinents incluent les processus de recherche suivants:

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

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

  • Il suffit de déplacer le curseur à la fin de la ligne et tapez Shift+Right Flèche.
  • ou, pour sélectionner EOLavec la souris, commencez juste à la fin de la ligne et faites glisser jusqu'au début de la ligne suivante; glisser à droite de la EOLne fonctionnera pas. Vous pouvez copier manuellement le EOLet le coller dans le champ correspondant aux fichiers Unix (LFname __- uniquement).

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

L'option "Extended" affiche \n et \r sous forme de caractères pouvant être identifiés.
Comme dans le mode de recherche normal, Notepad ++ recherche le caractère exact.
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 se produisent sans texte ultérieur sur cette même ligne. Les caractères d'ancrage fonctionnent de manière identique dans tous les formats de fichiers.
Le '.' Le métacaractère point ne correspond pas aux fins de ligne.

[Testé dans Notepad ++ 5.8.5]: une recherche d’expression régulière avec un \r ou un \n explicite ne fonctionne pas (contrairement à documentation Scintilla ) .
La recherche ne concerne pas non plus une LF explicite (collée), ni les caractères EOL (invisibles) placés dans le champ lorsqu'un EOL est sélectionné. Recherche Avancée (Ctrl+R) sans expression rationnelle

Ctrl+M va insérer quelque chose qui correspond à Newlines. Ils seront remplacés par la chaîne de remplacement.
Je recommande cette méthode comme étant la plus fiable, sauf si vous avez vraiment besoin d’utiliser regex.
Par exemple, pour supprimer chaque nouvelle ligne dans un fichier à double interligne, entrez Ctrl+M deux fois dans la case de la chaîne de recherche et une fois dans la case de la chaîne de remplacement.

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

Ni Ctrl+M, $ ni \r\n sont appariés.


Le même wiki mentionne également l'option de l'éditeur hexadécimal :

  • Tapez la nouvelle chaîne au début du document.
  • Puis sélectionnez pour afficher le document en mode hexadécimal .
  • Sélectionnez l'une des nouvelles lignes et appuyez sur Ctrl+H.
  • Lorsque la boîte de dialogue Remplacer apparaît, sélectionnez la nouvelle chaîne de remplacement sur l’arrière-plan et Ctrl+C copiez-le pour le coller dans l'entrée Remplacer par du texte.
  • Puis Remplacez ou Remplacez Tout comme vous le souhaitez.

Remarque: le caractère sélectionné pour la nouvelle ligne apparaît généralement sous la forme 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, le rétablir et Edit -> EOL Conversion -> Convert to Windows Format.

396
VonC

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

Recherche simple (Ctrl + H) sans expression rationnelle

Vous pouvez activer les options Afficher/Afficher la fin de ligne ou afficher/Afficher tout et sélectionnez maintenant caractères de nouvelle ligne visibles. Puis quand vous lancez la commande des caractères correspondant au caractère de nouvelle ligne sera collé dans le champ de recherche. Allumettes sera remplacé par le remplacement chaîne, contrairement au mode regex.

Remarque 1: Si vous les sélectionnez avec le fichier souris, commencez juste avant eux et faites glisser au début de la ligne suivante . Faire glisser jusqu'au bout de la ligne ne le fera pas travail. 

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

Recherche avancée (Ctrl + R) sans expression rationnelle

Ctrl + M va insérer quelque chose qui correspond aux nouvelles lignes. Ils seront remplacés par la chaîne de remplacement.

22
sundar

Dans la boîte de dialogue Remplacer, vous souhaitez définir le mode de recherche sur "Étendu". Les modes d'expression normale ou régulière ne fonctionneront pas.

Il vous suffit ensuite de rechercher "\ r\n" (ou\n pour les fichiers unix ou\r pour les fichiers au format mac), et de définir le remplacement à votre guise.

10
Nathen Silver

\ R\n Je n’ai pas eu beaucoup de chance avec les expressions régulières de la fenêtre Rechercher/Remplacer.

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

  1. Utilisez le menu "Afficher | Afficher la fin de ligne" pour activer l’affichage des caractères de fin de ligne . (Les retours à la ligne des 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, 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 n'avez pas le dialogue de recherche ou trouver/remplacer ouvert.

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

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

Vous devriez maintenant pouvoir compter, trouver ou remplacer à votre guise.

9
David Whitmore

Image avec CRLF

enter image description here


Image sans CRLF

enter image description here

5

J'ai trouvé que cela fonctionnait en utilisant la fonction Remplacer et en utilisant "\ n", avec le mode "Étendu". J'utilise la version 5.8.5.

4
Chris

En 2013, version 6.13 ou ultérieure, utilisez:

Menu Modifier Conversion EOL Format Windows .

4
Aquarius Power

Utilisez l'option de recherche avancée (Ctrl + R) et utilisez le raccourci clavier pour CRLF (Ctrl + M) pour insérer un retour chariot.

2
Chris

En supposant que la recherche "expressions régulières" soit recherchée, recherchez\r\n. Je préfère\r?\N, car certains fichiers n’utilisent pas les retours à la ligne.

EDIT: Merci pour le retour, quiconque a voté pour cela. J'ai appris que… eh bien, rien, car vous n'avez fourni aucun retour. Pourquoi est-ce faux?

2
Chris Marasti-Georg

Si vous devez effectuer un remplacement complexe d'expressions rationnelles, y compris\r\n, vous pouvez contourner la limitation en procédant en trois étapes:

  1. Remplacez tout \r\n par une balise, disons #GO# → Cochez la case 'étendu', remplacez \r\n par #GO#
  2. Effectuez votre expression rationnelle, par exemple, en supprimant plusieurs lignes ICON="*" d'un signet HTML → Vérifier l'expression rationnelle, remplacez ICON=.[^"]+.> by >
  3. Remettre\r\n → Cochez la case 'Étendu', remplacez #GO# par \r\n
2
alex

Allez dans Affichage -> Afficher le symbole -> Afficher tout le caractère // ça a marché pour moi

1
user2447473

J'ai ouvert le fichier dans Notepad ++ et ai effectué un remplacement en quelques étapes:

  1. Remplacez tous les "\ r\n" par "\ r\n"
  2. Remplacez tous les ";\r\n" par "\ r\n"
  3. Remplacez tous les "\ r\n" par ""

Cela met toutes les coupures où elles devraient être et supprime celles qui cassent le fichier.

Cela a fonctionné pour moi.

1
Cognis

Faites ce réglage. Menu-> Affichage-> Afficher le symbole-> décocher Afficher la fin de la ligne

0
Madhava Reddy

J'étais totalement incapable de faire cela dans NP v6.9 . Je l'ai trouvé assez facile avec Msoft Word (2K).

Ouvrez la doc, allez dans edit-> replace.

Ensuite, dans la partie inférieure de la zone de recherche, cliquez sur "Plus", puis sur le bouton "Spécial". Ils ont alors plusieurs options. Pour le style Dos, j'ai utilisé celui du "paragraphe". C’est une paire de couleurs dans Windows.

0
Cool Javelin

Il suffit de faire un r avec une recherche et de remplacer avec un blanc dans le champ de remplacement afin que tout va jusqu'à une ligne. Puis faites une recherche et remplacez (dans mon cas par un point-virgule) et remplacez par;\n

:) -T & C

0
Trent

Peut-être que vous pouvez utiliser des plugins TextFX

Dans TextFX, allez à textfx édition → supprimer les lignes vides

0
harinoir

Pour modifier un document de lignes séparées en une seule ligne, chaque ligne formant une entrée dans une liste séparée par des virgules:

  1. ctrl+f pour ouvrir la recherche/remplacement.
  2. Cliquez sur l'onglet "Remplacer".
  3. Remplissez l'entrée "Rechercher" avec "\r\n".
  4. Remplissez l'entrée "Remplacer par" par "," ou "," (selon les préférences).
  5. Décochez la case "Faire correspondre le mot entier" (le bit important qui échappe à la logique).
  6. Cochez le bouton radio "Extended".
  7. Cliquez sur le bouton "Remplacer tout".

Ces étapes tournent par exemple.

foo bar

bar baz

baz foo

en:

foo bar, bar baz, baz foo

ou: (selon les préférences)

foo bar, bar baz, baz foo

0
Fred Gandt