2014-06-05 14 views
6

Ho un file di testo con informazioni su una registrazione, inclusi numeri e nomi di traccia e voglio cancellare tutti gli altri testi tranne il numero di traccia e il nome della traccia. Ad esempio, il file di testo simile al seguente:notepad ++ Eliminazione di tutto il testo eccetto ciò che corrisponde alla regex

text text text text 
text text text text text text text text 
text text text text text text text text text text text text 
text text text text 
text text text text text text text text 
text text text text 
text text text text text text text text text text text text text text text text 
text text text text text text text text 
text text text text 

d1t01 - trackname 

d1t02 - trackname 

d1t03 - trackname 

d1t04 - trackname 

d1t05 - trackname 

d1t06 - trackname 

d1t07 - trackname 

d1t08 - trackname 

d1t09 - trackname 

d1t10 - trackname 

d1t11 - trackname 

text text text text 
text text text text text text text text 
text text text text text text text text text text text text 
text text text text 
text text text text text text text text 
text text text text 
text text text text text text text text text text text text text text text text 
text text text text text text text text 
text text text text 

voglio essere lasciato solo questo:

d1t01 - trackname 

d1t02 - trackname 

d1t03 - trackname 

d1t04 - trackname 

d1t05 - trackname 

d1t06 - trackname 

d1t07 - trackname 

d1t08 - trackname 

d1t09 - trackname 

d1t10 - trackname 

d1t11 - trackname 

ho capito come abbinare l'inizio della linea con questa espressione regolare:

d[0-9]+t[0-9]+[0-9]+ - 

Ma non riesco a capire come eliminare il resto del "testo" e lasciare solo quelle linee. Ho anche bisogno che cancelli i "ritorni" e non rimanga alcuna riga vuota nel file di testo.

Grazie!

risposta

12

MODIFICA: Dovresti essere in grado di utilizzare quanto segue qui.

Find: ^(?!d\w+).*\r?\n? 
Replace: 

Regular Expression: risposta

^    the beginning of the string 
(?!   look ahead to see if there is not: 
    d    'd' 
    \w+   word characters (a-z, A-Z, 0-9, _) (1 or more times) 
)    end of look-ahead 
.*    any character except \n (0 or more times) 
\r?   '\r' (carriage return) (optional) 
\n?   '\n' (newline) (optional) 
4

di hwnd è vicino, ma non rimuoverà tutte le nuove linee. Hai detto che non si desidera tutte le righe vuote nel file a tutti, quindi questa sarebbe una soluzione più completa:

Trova:^(?! d [0-9] + t [0- 9] +). * \ r? \ n?

Sostituire:

In questo caso, il corpo iniziale di testo sarebbe sostituito da

d1t01 - trackname 
d1t02 - trackname 
d1t03 - trackname 
d1t04 - trackname 
d1t05 - trackname 
d1t06 - trackname 
d1t07 - trackname 
d1t08 - trackname 
d1t09 - trackname 
d1t10 - trackname 
d1t11 - trackname 
0

Fase 1 - Linee partita. Trova finestra di dialogo> Segna scheda, è possibile aggiungere linee ai segnalibri corrispondenti.

Passaggio 2 - Rimuovere le linee contrassegnate OPPURE Rimuovere le linee non inserite nei segnalibri. Ricerca> Segnalibro> Rimuovi linee non marcate o Rimuovi righe contrassegnate come segnalibro

Problemi correlati