Trouver CRLF dans le bloc-notes++
Comment puis-je trouver/remplacer tous les caractères CR/LF dans le bloc-notes++?
je cherche quelque chose d'équivalent au caractère spécial ^p de Microsoft Word.
15 réponses
[\r\n]+
devrait fonctionner trop
mise à jour le 26 mars 2012, Date de sortie de Bloc-notes++ 6.0 :
OMG, ça marche maintenant!!!
Original answer 2008 (Notepad++ 4.x) - 2009-2010-2011 (Notepad++ 5.x)
En fait non, il ne semble pas fonctionner avec des regexp...
mais si vous avez Notepad++ 5.x, vous pouvez utiliser le ' étendu "le mode de recherche et chercher \r\n
. Qui trouve tout votre CRLF
.
(je me rends compte que c'est la même réponse que les autres, mais encore une fois, 'extended mode' n'est disponible qu'avec le bloc-notes++ 4.9, 5.x et plus)
depuis avril 2009, vous avez un wiki article sur le site Noetpad++ sur ce thème:
" Comment remplacer les extrémités de ligne, changeant ainsi la disposition de la ligne ".
(mentionné par georgiecasey dans son /sa 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 tapez Shift + Right Arrow.
- ou, pour sélectionner
EOL
avec la souris, commencez juste à l'extrémité de la ligne et faites-le glisser pour le début de la ligne suivante; en la faisant glisser vers le le droit duEOL
ne marchera pas. Vous pouvez copier manuellement leEOL
et le coller dans le champ pour les fichiers Unix (LF
- seulement).Simple recherche (Ctrl+F), le Mode de Recherche = Étendue
l'option "Extended" affiche
\n
et\r
comme caractères pouvant être appariés.
Comme dans le mode normal de recherche, le Notepad++ recherche le caractère exact.
La recherche de\r
dans un fichier UNIX-format ne trouvera rien, mais la recherche de\n
ne trouvera rien. De même, un fichier au format Macintosh contiendra\r
mais pas\n
.Simple recherche (Ctrl+F), le 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 pourreturn;$
trouvera des occurrences de" retour; " qui se produisent sans aucun texte ultérieur sur cette même ligne. Les caractères d'ancrage fonctionnent de façon identique dans tous les formats de fichier.
Le.' "dot metacharacter ne correspond pas aux fins de ligne.[testé dans la Notepad++ 5.8.5]: une recherche d'expression régulière avec une expression explicite
\r
ou\n
ne fonctionne pas (contrairement à la documentation Scintilla ) .
Il en va de même pour une recherche sur un LF explicite (collé) ou sur les caractères (invisibles) de fin de vie placés sur le terrain lorsqu'une fin de vie est sélectionnée. Recherche avancée ( Ctrl + R ) sans regexpCtrl + M insérera quelque chose qui correspond à newlines. Ils seront remplacés par la chaîne de remplacement.
Je recommandez cette méthode comme la plus fiable, sauf si vous avez vraiment besoin d'utiliser regex.
À titre d'exemple, pour supprimer une nouvelle ligne sur deux dans un fichier à double interligne, tapez Ctrl + M deux fois dans la case de recherche et une fois dans la case Remplacer une chaîne.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 la Hex editor alternative :
- tapez la nouvelle chaîne au début du document.
- sélectionnez ensuite voir le document en mode hexadécimal .
- Sélectionnez l'une des nouvelles lignes et cliquez sur Ctrl + H .
- pendant que vous avez la boîte de dialogue Remplacer, sélectionnez sur l'arrière-plan la nouvelle chaîne de remplacement et Ctrl + c Copier pour coller dans le remplacer avec entrée de texte.
- alors remplacez ou remplacez tout comme vous le souhaitez.
Note: le caractère choisi pour la nouvelle ligne apparaît habituellement comme
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 commutateur de remplacement en arrière etEdit -> EOL Conversion -> Convert to Windows Format
.
il semble qu'il s'agisse d'une FAQ , et la résolution offerte est:
Recherche Simple (Ctrl+H) sans regexp
vous pouvez activer la vue / Afficher fin de ligne ou afficher / Afficher tout, et sélectionner le maintenant caractères newline visibles. Puis, quand vous lancez la commande quelques caractères correspondant au caractère newline sera collé dans le champ de recherche. Correspondre sera remplacé par la remplacer string, contrairement au mode regex.
Note 1: Si vous les Sélectionnez avec le souris, démarrer juste avant eux et faire glisser au début de la ligne suivante. Traîner au bout de la ligne ne sera pas travail.
Note 2: vous ne pouvez pas copier et coller dans le domaine vous-même.
Recherche Avancée (Ctrl+R) sans regexp
Ctrl+M insérera quelque chose qui les matchs retours à la ligne. Ils seront remplacés par la chaîne de remplacement.
dans la boîte de dialogue Remplacer, vous voulez définir le mode de recherche à"Extended". Les modes D'Expression normaux ou réguliers ne fonctionneront pas.
puis juste trouver "\r\n " (ou juste \n pour les fichiers unix ou juste \R pour les fichiers de format mac), et mettre le remplacement à tout ce que vous voulez.
Je n'ai pas eu beaucoup de chance avec les expressions régulières \r\n de la fenêtre trouver/remplacer.
Toutefois, cela fonctionne dans Notepad++ v4.1.2:
-
utilisez le menu" Afficher | Afficher la fin de la ligne " pour activer l'affichage des caractères de fin de ligne. (Les lignes de retour de chariot doivent apparaître comme un seul caractère CRLF ombré.)
-
sélectionnez l'un des "caractères" du CRLF (placez le curseur juste en avant de l'un, maintenez la touche majuscules enfoncée, puis appuyez sur la touche curseur droite une fois).
-
copier le caractère CRLF dans le bloc-notes.
-
assurez-vous que la boîte de dialogue ne est ouverte.
-
ouvrir la boîte de dialogue trouver/remplacer. Le 'Rechercher' champ affiche le contenu du presse-papiers: dans ce cas, le CRLF caractère - qui se présente sous la forme de 2 'caractères de boîte' (probablement un caractère imprenable?)
-
S'assurer que l'option "Expression régulière" est désactivée.
Maintenant, vous devriez être en mesure de compter, trouver, ou remplacer comme désiré.
la façon dont je l'ai trouvé pour fonctionner est en utilisant la fonction Remplacer, et en utilisant" \n", avec le mode" étendu". J'utilise la version 5.8.5.
En 2013, v6.13 ou plus, utilisez:
Menu Edit → Conversion EOL → format Windows .
en supposant qu'il y ait une recherche" expressions régulières", recherchez \r\n. Je préfère \r?\n, parce que certains fichiers n'utilisez pas de retour chariot.
EDIT: Merci pour les commentaires, celui qui a voté cette baisse. J'ai appris que... eh bien, rien, parce que vous avez fourni aucune rétroaction. Pourquoi est-ce mal?
utilisez l'option de recherche avancée ( Ctrl + R ) et utilisez le raccourci clavier pour CRLF ( Ctrl + M ) pour insérer un retour de chariot.
si vous avez besoin de faire un remplacement regexp complexe y compris \r\n, Vous pouvez contourner la limitation par une approche en trois étapes:
- remplacer tous les
\r\n
par une étiquette, disons#GO#
→ vérifier "étendu", remplacer\r\n
par#GO#
- exécutez votre regexp, exemple supprimer multiligne
ICON="*"
d'un signet html → cochez regexp, remplacerICON=.[^"]+.> by >
- Mettre en arrière \r\n → Vérifier "Étendu", remplacer
#GO#
par\r\n
j'ai ouvert le fichier dans Notepad++ et j'ai fait un remplacement en quelques étapes:
- remplacer tous les" \r\n " Par "\r\n "
- Remplacer tout "; \r\n" par "\r\n"
- remplacer tous les "\r\n " Par "
cela met toutes les ruptures où elles devraient être et supprime celles qui cassent le fichier.
ça a marché pour moi.
Faire ce réglage. Menu-> affichage-> Afficher le Symbole-> décochez la case Afficher la Fin de la Ligne
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 virgule:
- ctrl + f pour ouvrir la recherche/remplacer.
- cliquez sur l'onglet" Remplacer".
- remplir l'entrée" trouver quoi " avec "
\r\n
". - remplacer " par "
,
" ou,
" sur la préférence). - décochez la case" Match whole word (le passage important qui échappe à la logique).
- vérifiez le bouton radio "Extended".
- cliquez sur le bouton" Replace all".
ces étapes tournent p.ex.
foo bar
bar baz
baz foo
en:
foo bar, bar baz, baz foo
ou: (selon préférence)
foo bar, bar baz, baz foo
peut-être Pouvez-vous utiliser les plugins TextFX
dans TextFX, allez à textfx edit → supprimer les lignes vides
il suffit de faire un \r avec une fin et remplacer par un blanc dans le champ Remplacer pour que tout aille jusqu'à une ligne. Ensuite, faites une recherche et remplacez (dans mon cas par un point-virgule) et remplacez par ;\n
:) - T&C