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


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, je voudrais trouver " xyz" et remplacer l'espace avec un retour chariot / nouvelle ligne.

Les résultats ressembleraient à:

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

etc...

Question: Comment pouvez-vous le plus facilement réaliser cela en utilisant Notepad ++? Y a-t-il d'autres outils que vous suggéreriez pour effectuer facilement cette commande?


194
2017-09-02 17:57


origine




Réponses:


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" à "Élargi" (case de groupe en bas à gauche dans le Remplacer dialogue) pour que Notepad ++ honore les codes d'échappement.


Quelques antécédents: "\ r \ n" est le code d'échappement pour retour chariot, la norme pour les nouvelles lignes dans Windows. Les systèmes de type Unix utilisent simplement \ n (newline). La plupart des IDE, Notepad ++ inclus, comprendront les deux styles et les dépeindront chacun avec de nouvelles lignes, mais les utilitaires Windows principaux ne comprennent pas \ n comme étant équivalent à \ r \ n, donc ce dernier est généralement le plus approprié si le fichier est destiné à être utilisé dans les environnements Windows.


261
2017-09-02 18:02



\ r \ n = syntaxe Windows newline. Cependant, pour tout autre élément que le vieux bloc-notes, il acceptera seulement \ n pour une nouvelle ligne (qui est également plus conventionnelle). - Macha
Votre phrase "plus conventionnelle" est trompeuse. "\ r \ n" est la norme sous Windows. Il se trouve que beaucoup d'éditeurs et d'EDI reconnaissent la fin de ligne standard Unix / Linux "\ n" et affichent le document en conséquence. Il n'y a rien à propos de "\ n" qui le rend plus conventionnel. - Brian Lacy
Pour être honnête, la version Win / DOS a plus de sens pour moi. "\ r" signifie "Retour chariot, ou 'Retourne le chariot / curseur au début de la ligne'" et "\ n" signifie "Avancez le chariot / curseur vers une ligne". Bien sûr, Unix est arrivé 20 ans auparavant, donc je suppose que c'est Microsoft qui a enfreint la norme. - Brian Lacy
Cela ne fonctionnera pas à moins que vous définissiez le mode de recherche, comme spécifié dans l'autre réponse: superuser.com/questions/34451/... - codeulike
Si vous essayez de remplacer la chaîne littérale "\ r \ n" par une nouvelle ligne, procédez comme suit: définissez le mode de recherche sur normal, recherchez / remplacez \ r \ n par ***. Ensuite, définissez le mode de recherche sur Extended, find / replace *** with \ r \ n. - goku_da_master


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

  • Trouver: xyz
  • Remplacez par: \ n


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

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


59
2017-09-02 18:01



Cette réponse a fonctionné pour moi, l'acceptation n'a pas. Ver 5.8.6 - bdwakefield
Oui même ici la réponse acceptée n'a pas spécifié en utilisant le mode étendu .. - Andy
Le mode de recherche est la clé, merci pour la publication. - Jrod
Pourquoi pas \r\n (au lieu de \n)? - Peter Mortensen


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 par "\ n".


5
2017-09-02 18:01



Pourquoi pas \r\n (au lieu de \n)? - Peter Mortensen


Je triche un peu lorsque les caractères S & Ring que je ne peux pas taper directement dans les champs de texte (par exemple, les onglets et les nouvelles lignes). Recherchez quelque part dans le document qui a 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, faites glisser jusqu'à la fin de la ligne précédente, copiez-la et collez-la dans la boîte de dialogue Remplacer.


4
2017-09-02 17:59





Pour Notepad ++, changez le mode de recherche pour Élargi alors dans le Remplacer par utilisation sur le terrain \ n.


2
2017-09-02 18:02



Pourquoi pas \r\n (au lieu de \n)? - Peter Mortensen