Notepad ++ trova e sostituisce la stringa con una nuova riga


212

Considera lo scenario in cui hai una stringa specifica che desideri trovare e sostituire. Si desidera sostituirlo con una nuova stringa che contiene un carattere di nuova riga (o sequenza di caratteri).

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

Nello scenario sopra, mi piacerebbe trovare " xyz" e sostituire lo spazio con un ritorno a capo / newline.

I risultati sarebbero simili:

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

eccetera...

Domanda: Come raggiungeresti più facilmente questo obiettivo con Notepad ++? Ci sono altri strumenti che suggeriresti di eseguire facilmente questo comando?

Risposte:


279

Notepad ++ andrà bene.

Stringa di ricerca:

 xyz
Nota lo spazio di fronte xyz.

Sostituisci stringa:

\ R \ nxyz

Dovrai anche impostare la "Modalità di ricerca" su "Esteso" (casella di gruppo in basso a sinistra nella finestra di dialogo Sostituisci ) in modo che Notepad ++ rispetti i codici di escape.


Alcuni retroscena: "\ r \ n" è il codice di escape per il ritorno a capo, lo standard per le nuove righe in Windows. I sistemi in stile Unix usano semplicemente \ n (newline). La maggior parte degli IDE, incluso Notepad ++, comprenderà entrambi gli stili e li descriverà ciascuno con nuove righe, ma le utilità di base di Windows non comprendono \ n come equivalenti a \ r \ n, quindi quest'ultima è di solito la più appropriata se il file è destinato a essere utilizzato in ambienti Windows.


2
\ r \ n = sintassi della nuova riga di Windows. Tuttavia, per qualsiasi cosa diversa dal semplice vecchio blocco note, accetterà solo \ n per una nuova riga (che è anche più convenzionale).
Macha,

3
La tua frase "più convenzionale" è fuorviante. "\ r \ n" è lo standard su Windows. È solo che molti editor e IDE capiscono che la linea standard Unix / Linux termina "\ n" e visualizza il documento di conseguenza. Non c'è nulla in "\ n" che lo rende più convenzionale.
Brian Lacy,

Ad essere onesti, la versione Win / DOS ha più senso per me. "\ r" significa "Ritorno a capo, oppure" Riporta il carrello / cursore all'inizio della riga "" e "\ n" significa "Avanzamento del carrello / cursore in avanti di una riga". Certo, Unix è arrivato 20 anni prima, quindi immagino che in questo senso sia Microsoft che ha infranto lo standard.
Brian Lacy,

7
questo non funzionerà se non imposti la modalità di ricerca, come specificato nell'altra risposta: superuser.com/questions/34451/…
codeulike

7
Se stai cercando di sostituire la stringa letterale "\ r \ n" con una nuova riga effettiva, ho dovuto fare quanto segue: impostare la modalità di ricerca su normale, trovare / sostituire \ r \ n con ***. Quindi impostare la modalità di ricerca su Esteso, trovare / sostituire *** con \ r \ n.
goku_da_master,

61

In Notepad ++, è molto semplice ...

  • Trova: xyz
  • Sostituisci con: \ n


  • Modalità di ricerca: estesa (\ n, \ t, ecc.)

Il trucco è impostare la modalità di ricerca.


1
Questa risposta ha funzionato per me, l'accettato no. Ver 5.8.6
bdwakefield,

Sì, lo stesso qui la risposta accettata non è stata specificata utilizzando la modalità estesa ..
Andy,

Perché no \r\n(invece di \n)?
Peter Mortensen,

5

Imbroglio un po 'quando S & Ring non riesco a digitare direttamente nei campi di testo (ad es. Tabulazioni e righe). Trova da qualche parte nel documento che ha già quel carattere, quindi copialo e incollalo nel campo Sostituisci.

Quindi, nel tuo esempio, inizia all'inizio di una riga, fai clic, trascina fino alla fine della riga precedente, copiala e incollala nella finestra di dialogo Sostituisci.


5

Nella finestra di dialogo "Sostituisci", assicurati che in Modalità di ricerca sia selezionato "Esteso". Quindi digitare nella casella Trova immettere "xyz" e sostituirlo con "\ n".


1
Perché no \r\n(invece di \n)?
Peter Mortensen,

2

Per Notepad ++, modifica la modalità di ricerca su Esteso, quindi nel campo Sostituisci con usa \ n .


1
Perché no \r\n(invece di \n)?
Peter Mortensen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.