Notepad ++ trouve et remplace la chaîne par une nouvelle ligne

212

Considérez le scénario dans lequel vous souhaitez rechercher et remplacer une chaîne spécifique. Vous souhaitez le remplacer par une nouvelle chaîne contenant un caractère de nouvelle ligne (ou une séquence de caractères).

abc123 xyz456-blah
fsafd23 xyz456-green
89hjkf23 xyz456-red
afdsa23 xyz456-yellow
abaac123 xyz456-orange

Dans le scénario ci-dessus, j'aimerais trouver " xyz" et remplacer l'espace par un retour chariot / nouvelle ligne.

Les résultats ressembleraient à:

abc123
xyz456-blah
fsafd23
xyz456-green
89hjkf23
xyz456-red
   ︙

etc...

Question: Comment y arriveriez-vous le plus facilement avec Notepad ++? Selon vous, existe-t-il d’autres outils permettant d’exécuter facilement cette commande?

p.campbell
la source

Réponses:

279

Notepad ++ fera très bien l'affaire.

Chaîne de recherche:

 xyz
Notez l'espace devant xyz.

Remplacer la chaîne:

\ r \ nxyz

Vous devrez également définir le "Mode de recherche" sur "Avancé" (zone de groupe inférieure gauche dans la boîte de dialogue Remplacer ) pour que Notepad ++ respecte les codes d'échappement.


Un peu d’arrière-plan: "\ r \ n" est le code d’échappement pour le retour chariot, le standard pour les nouvelles lignes dans Windows. Les systèmes de style Unix utilisent simplement \ n (nouvelle ligne). La plupart des IDE, Notepad ++ inclus, comprendront les deux styles et les présenteront chacun avec de nouvelles lignes, mais les utilitaires Windows principaux ne comprennent pas \ n comme étant équivalent à \ r \ n, ce dernier est donc généralement le plus approprié. être utilisé dans les environnements Windows.

étalonner
la source
2
\ r \ n = syntaxe de nouvelle ligne Windows. Cependant, pour tout ce qui est autre que le vieux bloc-notes ordinaire, il acceptera seulement \ n pour une nouvelle ligne (ce qui est également plus conventionnel).
Macha
3
Votre phrase "plus conventionnelle" est trompeuse. "\ r \ n" est la norme sous Windows. Il se trouve que de nombreux éditeurs et IDE reconnaissent la ligne standard Unix / Linux se terminant par "\ n" et affichent le document en conséquence. Il n'y a rien dans "\ n" qui le rend plus conventionnel.
Brian Lacy
Pour être honnête, la version Win / DOS me semble plus logique. "\ r" signifie "Retour chariot, ou 'Ramène le chariot / le curseur au début de la ligne" "et" \ n "signifie" Avance le chariot / le curseur d'une ligne ". Bien sûr, Unix est arrivé 20 ans plus tôt, alors je suppose que c'est dans ce sens que Microsoft a dépassé les normes.
Brian Lacy
7
cela ne fonctionnera que si vous définissez le mode de recherche, comme indiqué dans l'autre réponse: superuser.com/questions/34451/…
codeulike
7
Si vous essayez de remplacer la chaîne littérale "\ r \ n" par une nouvelle ligne, je devais effectuer les opérations suivantes: définir le mode de recherche sur normal, rechercher / remplacer \ r \ n avec ***. Définissez ensuite le mode de recherche sur Etendu, recherchez / remplacez *** par \ r \ n.
goku_da_master
61

Dans Notepad ++, c'est très facile ...

  • Trouver: xyz
  • Remplacer par: \ n


  • Mode de recherche: étendu (\ n, \ t, etc.)

L'astuce consiste à définir le mode de recherche.

thdude
la source
1
Cette réponse a fonctionné pour moi, les acceptés n'ont pas. Ver 5.8.6
bdwakefield
Oui même ici la réponse acceptée ne précisait pas utiliser le mode étendu ..
Andy
Pourquoi pas \r\n(au lieu de \n)?
Peter Mortensen
5

Je triche un peu lorsque des caractères S & Ring que je ne peux pas taper directement dans les champs de texte (par exemple des tabulations et des nouvelles lignes). Recherchez quelque part dans le document contenant déjà ce caractère, puis copiez-le et collez-le dans le champ de remplacement.

Ainsi, dans votre exemple, commencez au tout début d'une ligne, cliquez sur l'icône, faites-la glisser jusqu'à la fin de la ligne précédente, copiez-la et collez-la dans la boîte de dialogue Remplacer.

Macha
la source
5

Dans la boîte de dialogue "Remplacer", assurez-vous que l'option "Avancé" est sélectionnée dans le mode de recherche. Puis tapez dans la boîte de recherche entrez "xyz" et remplacez-le par "\ n".

tj111
la source
1
Pourquoi pas \r\n(au lieu de \n)?
Peter Mortensen
2

Pour le Bloc-notes ++, définissez le mode de recherche sur Etendu puis dans le champ Remplacer par , utilisez \ n .

dlux
la source
1
Pourquoi pas \r\n(au lieu de \n)?
Peter Mortensen