Juste pour construire un peu sur ce que «thenonhacker» mentionnait. Nous utilisons ULtraEdit-32 au travail et, en travaillant avec des fichiers EDI (x.12), nous devons souvent encapsuler ou décompresser des données. Les 2 chaînes de recherche et de remplacement les plus courantes sont "^ p" & "~". aller dans un sens remplacera le "~" par un CR / LF pour une lecture plus facile de chaque segment. Aller dans l'autre sens remet le fichier dans le format dont le traducteur EDI a besoin. Pour les gens paresseux comme moi, je n'ai que ces clés mappées pour une utilisation facile.
DavidGrove
1
Bien que non lié, mais utile. J'ai visité cette page après avoir recherché une méthode pour convertir un fichier texte UNIX au format Windows dans Windows. C'est ce que j'ai fait et travaillé CTRL+H, sélectionnez "Mode de recherche: Expression régulière". "Rechercher quoi: $" et "Remplacer par: \ r". Copiez collez le contenu dans le Bloc-notes ou enregistrez-le sur le disque.
Guru
2
Yay! Notepad ++ 6.0 apporte le support de PCRE: regex comme [\r\n]+maintenant fonctionne. J'ai mis à jour ma réponse et je célébrerai!
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 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)
Certains extraits pertinents incluent les processus de recherche suivants:
Recherche simple ( Ctrl+ F), Mode de recherche =Normal
Vous pouvez sélectionner un EOLdans la fenêtre d'édition.
Déplacez simplement le curseur à la fin de la ligne et tapez Shift+ RightFlè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; faire glisser vers la droite du EOLne fonctionnera pas. Vous pouvez copier EOLet coller manuellement le dans le champ des fichiers Unix ( LF-seulement).
Recherche simple (Ctrl + F), mode de recherche = étendu
L'option "Extended" affiche \net \rsous forme de caractères pouvant être mis en correspondance.
Comme avec le mode de recherche Normal, Notepad ++ recherche le caractère exact.
La recherche \rdans un fichier au format UNIX ne trouvera rien, mais la recherche de \nvolonté. De même, un fichier au format Macintosh contiendra \rmais pas \n.
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 des occurrences de «retour»; qui se produisent sans texte suivant 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 dot ne correspond pas aux fins de ligne.
[Testé dans Notepad ++ 5.8.5]: une recherche d'expression régulière avec un explicite \rou \nne fonctionne pas (contrairement à la documentation Scintilla ) .
Ni une recherche sur un LF explicite (collé), ni sur les caractères EOL (invisibles) placés dans le champ lorsqu'un EOL est sélectionné. Recherche avancée ( Ctrl+ R) sans regexp
Ctrl+ Minsérera quelque chose qui correspond aux sauts de ligne. Ils seront remplacés par la chaîne de remplacement.
Je recommande cette méthode comme la plus fiable, à moins que vous n'ayez vraiment besoin d'utiliser regex.
Par exemple, pour supprimer tous les deuxièmes retours à la ligne dans un fichier à double interligne, entrez Ctrl+ Mdeux 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 \r\nne correspondent.
Le même wiki mentionne également l' alternative à l'éditeur Hex :
Tapez la nouvelle chaîne au début du document.
Sélectionnez ensuite 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 dialogue Remplacer s'affiche, sélectionnez en arrière-plan la nouvelle chaîne de remplacement et Ctrl+ Ccopiez-la pour la coller dans l'entrée Remplacer par du texte.
Ensuite, 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.
Il peut avoir une valeur 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 et Edit -> EOL Conversion -> Convert to Windows Format.
J'utilisais la version 4.7. La mise à niveau vers la dernière version et le mode étendu fonctionne comme annoncé. Merci à tous ceux qui ont répondu.
polara
+1: J'utilisais la version 4.6 et j'ai eu un problème similaire. Et grâce à votre réponse, je suis passé à 5+. Merci!
paercebal
Ça marche! Mais cela fait craquer Notepad ++ RegExp. UltraEdit-32 est plus intelligent, vous avez juste besoin \ n et vous avez terminé votre travail ...
thenonhacker
\ r \ n a fonctionné pour moi, mais pas \ n, ce qui est contre-intuitif si vous êtes un développeur habitué à \ n être un raccourci pour \ r \ n.
Warren P
2
@GarretWilson Je confirme que ça [^\r]\nmarche très bien (recherche d' expressions
régulières
22
Il semble que ce soit une FAQ , et la résolution proposée est:
Recherche simple (Ctrl + H) sans regexp
Vous pouvez activer Afficher / Afficher la fin de la 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.
Remarque 1: si vous les sélectionnez avec la souris, commencez juste avant eux et faites-les glisser au début de la ligne suivante. Faire glisser jusqu'à la fin de la ligne ne fonctionnera pas.
Remarque 2: vous ne pouvez pas les copier et les coller vous-même dans le champ.
Recherche avancée (Ctrl + R) sans regexp
Ctrl + M insérera quelque chose qui correspond aux retours à la ligne. Ils seront remplacés par la chaîne de remplacement.
Vous pouvez également utiliser Ctrl + M pour insérer des sauts de ligne dans la chaîne de remplacement.
Dusty Campbell
2
C'est une FAQ car c'est un peu une verrue de conception dans un produit par ailleurs brillant.
Warren P
11
Dans la boîte de dialogue Remplacer, vous souhaitez définir le mode de recherche sur "Etendu". Les modes d'expression normale ou régulière ne fonctionneront pas.
Ensuite, recherchez simplement "\ r \ n" (ou simplement \ n pour les fichiers Unix ou simplement \ r pour les fichiers au format mac), et définissez le remplacement sur ce que vous voulez.
Cette réponse était obsolète une fois écrite - Mac n'utilise plus \rdepuis 2001 ... (c'est maintenant Unix)
Jasper
9
Je n'ai pas eu beaucoup de chance avec les expressions régulières \ r \ n dans la fenêtre de recherche / remplacement.
Cependant, cela fonctionne dans Notepad ++ v4.1.2:
Utilisez le menu "Affichage | Afficher la 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 seul caractère CRLF ombré.)
Sélectionnez l'un des «caractères» CRLF (placez le curseur juste devant l'un, maintenez la touche MAJ enfoncée, puis appuyez une fois sur la touche CURSEUR DROIT).
Copiez le caractère CRLF dans le presse-papiers.
Assurez-vous que la boîte de dialogue Rechercher ou Rechercher / Remplacer n'est pas ouverte.
Ouvrez la boîte de dialogue de recherche / remplacement. Le champ 'Find what' affiche le contenu du presse-papiers: dans ce cas, le caractère CRLF - qui apparaît comme 2 'caractères de boîte' (probablement c'est un caractère non imprimable?)
Assurez-vous que l'option «Expression régulière» est désactivée.
Vous devriez maintenant pouvoir compter, trouver ou remplacer comme vous le souhaitez.
L'un des très rares éléments de cette page qui fonctionne. Utilisation de notepadd ++ 5.8.6. Il est vraiment difficile de croire que quelque chose d'aussi simple devrait nécessiter la quantité de réponses trop complexes et souvent non fonctionnelles qui ont été données dans ce fil.
Cela ne couvre pas le cas général du remplacement de CRLF par un ou plusieurs caractères arbitraires. Ou remplacer un ou plusieurs caractères arbitraires par CRLF (par exemple, remplacer les caractères d'espace par CRLF).
Peter Mortensen
2
En supposant qu'il ait une recherche «d'expressions régulières», recherchez \ r \ n. Je préfère \ r? \ N, car certains fichiers n'utilisent pas de retour chariot.
EDIT: Merci pour la rétroaction, celui qui a voté contre. J'ai appris cela ... eh bien, rien, car vous n'avez fourni aucun retour. Pourquoi est-ce mal?
Je ne sais pas exactement pourquoi cela ne fonctionne pas, mais ce n'est pas le cas. Je suppose que cette implémentation regex (dans Notepad ++) ne vérifie qu'une seule ligne à la fois et ignore tous les nouveaux caractères de ligne. C'est probablement pourquoi vous avez été rejeté.
Frank Hadder
1
oui. regex est ligne par ligne dans notepad ++, vous pouvez donc faire correspondre positionnellement à EOL avec $ mais vous ne pouvez pas rechercher / remplacer les expressions qui traversent les limites de ligne.
Warren P
2
Utilisez l'option de recherche avancée ( Ctrl+ R) et utilisez le raccourci clavier pour CRLF ( Ctrl+ M) pour insérer un retour chariot.
Ctrl + R ne fonctionnait pas pour moi quand je l'ai essayé. Il a inséré un étrange caractère de contrôle dans le document, " DC2". Version Notepad ++: 7.5.6 (2018-05-19).
Peter Mortensen
2
Si vous devez effectuer un remplacement d'expression rationnelle complexe, y compris \ r \ n, vous pouvez contourner la limitation par une approche en trois étapes:
Remplacez tout \r\npar une balise, disons #GO#→ Cochez «Étendu», remplacez \r\npar#GO#
Effectuez votre regexp, par exemple, supprimer une multiligne ICON="*"d'un signet html → Vérifier l'expression régulière, remplacerICON=.[^"]+.> by >
Remettez \ r \ n → Cochez 'Étendu', remplacez #GO#par\r\n
Cela ne répond pas à la question d'origine. Veuillez expliquer pourquoi vous pensez que ceci est une contribution utile à ce Q&R. Veuillez également lire les pages du centre d'aide pour savoir comment apporter des réponses utiles.
AdrianHHH
1
J'ai ouvert le fichier dans Notepad ++ et ai fait un remplacement en quelques étapes:
Remplacez tous les "\ r \ n" par "\ r \ n"
Remplacez tous "; \ r \ n" par "\ r \ n"
Remplacez tous les "\ r \ n" par ""
Cela place toutes les pauses là où elles devraient être et supprime celles qui cassent le fichier.
J'étais totalement incapable de le faire dans NP v6.9. Je l'ai trouvé assez facile sur Msoft Word (2K).
Ouvrez le document, allez dans éditer-> remplacer.
Ensuite, en bas de la boîte de recherche, cliquez sur "plus" puis trouvez le bouton "Spécial" et ils ont plusieurs choses pour vous. Pour le style Dos, j'ai utilisé celui du "paragraphe". Il s'agit d'une paire cr lf dans windows land.
Faites simplement un \ r avec une recherche et remplacez-le par un blanc dans le champ de remplacement pour que tout monte sur une ligne. Ensuite, faites une recherche et remplacez (dans mon cas par un point-virgule) et remplacez par; \ n
CTRL+H
, sélectionnez "Mode de recherche: Expression régulière". "Rechercher quoi: $" et "Remplacer par: \ r". Copiez collez le contenu dans le Bloc-notes ou enregistrez-le sur le disque.[\r\n]+
maintenant fonctionne. J'ai mis à jour ma réponse et je célébrerai!\R
mais qui correspond à un saut de ligne générique; c'est-à-dire, tout ce qui est considéré comme une séquence de saut de ligne ...Réponses:
[\r\n]+
devrait aussi fonctionnerMise à jour du 26 mars 2012, date de sortie de Notepad ++ 6.0 :
OMG, cela fonctionne vraiment maintenant !!!
Réponse originale 2008 (Bloc-notes ++ 4.x) - 2009-2010-2011 (Bloc-notes ++ 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 tout votreCRLF
.(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 sa réponse ci-dessous )
Certains extraits pertinents incluent les processus de recherche suivants:
Le même wiki mentionne également l' alternative à l'éditeur Hex :
la source
[^\r]\n
marche très bien (recherche d' expressionsIl semble que ce soit une FAQ , et la résolution proposée est:
la source
Dans la boîte de dialogue Remplacer, vous souhaitez définir le mode de recherche sur "Etendu". Les modes d'expression normale ou régulière ne fonctionneront pas.
Ensuite, recherchez simplement "\ r \ n" (ou simplement \ n pour les fichiers Unix ou simplement \ r pour les fichiers au format mac), et définissez le remplacement sur ce que vous voulez.
la source
\r
depuis 2001 ... (c'est maintenant Unix)Je n'ai pas eu beaucoup de chance avec les expressions régulières \ r \ n dans la fenêtre de recherche / remplacement.
Cependant, cela fonctionne dans Notepad ++ v4.1.2:
Utilisez le menu "Affichage | Afficher la 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 seul caractère CRLF ombré.)
Sélectionnez l'un des «caractères» CRLF (placez le curseur juste devant l'un, maintenez la touche MAJ enfoncée, puis appuyez une fois sur la touche CURSEUR DROIT).
Copiez le caractère CRLF dans le presse-papiers.
Assurez-vous que la boîte de dialogue Rechercher ou Rechercher / Remplacer n'est pas ouverte.
Ouvrez la boîte de dialogue de recherche / remplacement. Le champ 'Find what' affiche le contenu du presse-papiers: dans ce cas, le caractère CRLF - qui apparaît comme 2 'caractères de boîte' (probablement c'est un caractère non imprimable?)
Assurez-vous que l'option «Expression régulière» est désactivée.
Vous devriez maintenant pouvoir compter, trouver ou remplacer comme vous le souhaitez.
la source
Image avec CRLF
Image sans CRLF
la source
Je l'ai trouvé fonctionner en utilisant la fonction Remplacer et en utilisant "\ n" avec le mode "Etendu". J'utilise la version 5.8.5.
la source
En 2013, v6.13 ou version ultérieure, utilisez:
Menu Édition → Conversion EOL → Format Windows .
la source
En supposant qu'il ait une recherche «d'expressions régulières», recherchez \ r \ n. Je préfère \ r? \ N, car certains fichiers n'utilisent pas de retour chariot.
EDIT: Merci pour la rétroaction, celui qui a voté contre. J'ai appris cela ... eh bien, rien, car vous n'avez fourni aucun retour. Pourquoi est-ce mal?
la source
Utilisez l'option de recherche avancée ( Ctrl+ R) et utilisez le raccourci clavier pour CRLF ( Ctrl+ M) pour insérer un retour chariot.
la source
DC2
". Version Notepad ++: 7.5.6 (2018-05-19).Si vous devez effectuer un remplacement d'expression rationnelle complexe, y compris \ r \ n, vous pouvez contourner la limitation par une approche en trois étapes:
\r\n
par une balise, disons#GO#
→ Cochez «Étendu», remplacez\r\n
par#GO#
ICON="*"
d'un signet html → Vérifier l'expression régulière, remplacerICON=.[^"]+.> by >
#GO#
par\r\n
la source
Allez dans Affichage -> Afficher le symbole -> Afficher tout le caractère // C'est travaillé pour moi
la source
Faites ce réglage. Menu-> Affichage-> Afficher le symbole-> décocher Afficher la fin de la ligne
la source
J'ai ouvert le fichier dans Notepad ++ et ai fait un remplacement en quelques étapes:
Cela place toutes les pauses là où elles devraient être et supprime celles qui cassent le fichier.
Ça a marché pour moi.
la source
J'étais totalement incapable de le faire dans NP v6.9. Je l'ai trouvé assez facile sur Msoft Word (2K).
Ouvrez le document, allez dans éditer-> remplacer.
Ensuite, en bas de la boîte de recherche, cliquez sur "plus" puis trouvez le bouton "Spécial" et ils ont plusieurs choses pour vous. Pour le style Dos, j'ai utilisé celui du "paragraphe". Il s'agit d'une paire cr lf dans windows land.
la source
Faites simplement un \ r avec une recherche et remplacez-le par un blanc dans le champ de remplacement pour que tout monte sur une ligne. Ensuite, faites une recherche et remplacez (dans mon cas par un point-virgule) et remplacez par; \ n
:) -T & C
la source
Pour changer 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:
\r\n
".,
" ou ",
" (selon la préférence).Ces étapes tournent par exemple
dans:
ou: (selon la préférence)
la source
Vous pouvez peut-être utiliser des plugins TextFX
Dans TextFX, allez dans textfx edit → delete blank lines
la source
Pour trouver tout type de séquence de saut de ligne, utilisez la construction d'expression régulière suivante:
Pour rechercher et sélectionner consécutives des séquences de saut de ligne, ajouter
+
après\R
:\R+
.Assurez-vous d'activer le mode d' expression régulière :
Ça correspond:
U+000DU+000A -
Séquence CRLFU+000A
-LINE FEED
, LFU+000B
-LINE TABULATION
, VTU+000C
-FORM FEED
, FFU+000D
-CARRIAGE RETURN
, CRU+0085
-NEXT LINE
, NELU+2028
-LINE SEPARATOR
U+2029
-PARAGRAPH SEPARATOR
la source