Trouver CRLF dans Notepad ++

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

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

[\r\n]+ devrait fonctionner aussi

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

OMG, ça marche vraiment maintenant !!!

Expression PCRE dans Notepad ++


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

En fait non, il 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 tout votre CRLF .

(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 la ligne se termine, modifiant ainsi la disposition de la ligne “.
(mentionné par georgiecasey dans sa réponse ci-dessous )

Certains extraits pertinents incluent les processus de recherche suivants:

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

Vous pouvez sélectionner une fin de ligne dans la fenêtre d’édition.

  • Déplacez simplement le curseur à la fin de la ligne et tapez Shift + Right Arrow.
  • ou, pour sélectionner EOL avec la souris, commencez juste à la fin de la ligne et faites glisser jusqu’au début de la ligne suivante; glisser à droite de la fin de vie ne fonctionnera pas. Vous pouvez copier manuellement l’ EOL et le coller dans le champ pour les fichiers Unix ( LF -only).

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

L’option “Extended” affiche \n et \r comme des caractères pouvant être mis en correspondance.
Comme avec 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 recherchera \n volonté. 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”; cela se produit 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 point métacaractère ne correspond pas aux fins de ligne.

[Testé dans Notepad ++ 5.8.5]: une recherche d’expressions régulières avec un \r ou \n explicite ne fonctionne pas (contrairement à la documentation Scintilla ) .
Il n’y a pas non plus de recherche sur un LF explicite (collé) ou sur 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 aux nouvelles lignes. Ils seront remplacés par la chaîne de remplacement.
Je recommande cette méthode comme la plus fiable, à moins que vous ne deviez vraiment utiliser regex.
Par exemple, pour supprimer chaque seconde ligne dans un fichier à double interligne, entrez Ctrl + M deux fois dans la zone de chaîne de recherche et une fois dans la zone de chaîne de remplacement.

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

Ni Ctrl + M , ni $ ni \r\n ne correspondent.


Le même wiki mentionne également l’ alternative de l’éditeur Hex :

  • Tapez la nouvelle chaîne au début du document.
  • Ensuite, sélectionnez pour afficher le document en mode Hex .
  • Sélectionnez l’une des nouvelles lignes et appuyez sur Ctrl + H.
  • Pendant que la boîte de dialog Remplacer apparaît, sélectionnez en arrière-plan la nouvelle chaîne de remplacement et Ctrl + C la copier pour la coller dans la zone 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 comme 0a .
Il peut avoir une valeur différente si le fichier est au format Windows. Dans ce cas, vous pouvez toujours aller sur Edit -> EOL Conversion -> Convert to Unix Format , et après le remplacement, le rétablir et Edit -> EOL Conversion -> Convert to Windows Format .

Il semble que ce soit une FAQ et la résolution proposée est la suivante:

Recherche simple (Ctrl + H) sans expression rationnelle

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

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

Note 2: Vous ne pouvez pas les copier et les coller 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.

Dans la boîte de dialog Remplacer, vous souhaitez définir le mode de recherche sur “Extended”. Les modes d’expression normale ou régulière ne fonctionneront pas.

Trouvez simplement “\ r \ n” (ou simplement \ n pour les fichiers Unix ou juste \ r pour les fichiers au format Mac), et définissez le remplacement sur ce que vous voulez.

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 fin de ligne” pour activer l’affichage des caractères de fin de ligne. (Les sauts de ligne de retour de chariot doivent apparaître sous la forme d’un «caractère» CRLF ombré.)

  2. Sélectionnez l’un des «caractères» du CRLF (placez le curseur juste devant, maintenez la touche SHIFT enfoncée et appuyez une fois sur la touche CURSEUR DROITE).

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

  4. Assurez-vous que la boîte de dialog Rechercher ou Rechercher / Remplacer n’est pas ouverte.

  5. Ouvrez la boîte de dialog Rechercher / Remplacer. Le champ “Find what” affiche le contenu du presse-papier: dans ce cas, le caractère CRLF – qui se présente 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.

La façon dont je l’ai trouvé fonctionner est en utilisant la fonction Remplacer, et en utilisant “\ n”, avec le mode “étendu”. J’utilise la version 5.8.5.

Image avec CRLF

entrer la description de l'image ici


Image sans CRLF

entrer la description de l'image ici

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

Menu EditionConversion EOLFormat Windows .

En supposant qu’il a une recherche “expressions régulières”, recherchez \ r \ n. Je préfère \ r? \ N, car certains fichiers n’utilisent pas les retours chariot.

EDIT: Merci pour les commentaires, qui a voté pour cela. Je l’ai appris … eh bien, rien, parce que vous n’avez fourni aucun retour. Pourquoi est-ce faux?

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

Si vous devez effectuer un remplacement complexe d’expression rationnelle, y compris \ r \ n, vous pouvez résoudre le problème en procédant en trois étapes:

  1. Remplacez tous les \r\n par une balise, disons #GO# → Cochez ‘Extended’, remplacez \r\n par #GO#
  2. Effectuez votre expression rationnelle, par exemple en supprimant multiligne ICON="*" partir d’un signet HTML → Vérifiez l’expression rationnelle, remplacez ICON=.[^"]+.> by >
  3. Remettre \ r \ n → Vérifier ‘Extended’, remplacer #GO# par \r\n

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

  1. Remplacer tout “\ r \ n” par “\ r \ n”
  2. Remplacer tout “; \ r” par “\ r \ n”
  3. Remplacer tout “\ r \ n” par “”

Cela met toutes les pauses où ils devraient être et supprime ceux qui divisent le fichier.

Cela a fonctionné pour moi.

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

Pour changer un document de lignes distinctes 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 quoi” avec ” \r\n “.
  4. Remplissez l’entrée “Remplacer par” par ” , ” ou ” , ” selon la préférence.
  5. Désélectionnez la case à cocher “Associer 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

dans:

foo bar, bar baz, baz foo

ou: (selon préférence)

foo bar, bar baz, baz foo

Peut-être que vous pouvez utiliser les plugins TextFX

Dans TextFX, accédez à textfx edit → supprimer les lignes vides

Faites simplement un \ r avec une recherche et remplacez-le par un blanc dans le champ de remplacement pour que tout passe à une ligne. Ensuite, faire une recherche et remplacer (dans mon cas par un point-virgule) et remplacer par; \ n

🙂 -T & C