Archives For Sostituisci testo

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!

Notepad++: aggiungere testo a inizio e fine di ogni lineaHo avuto necessità di mettere mano a un file con voci duplicate, e rimuoverle per cercare di lavorare in maniera più pulita. Come al solito, ho cercato una soluzione da applicare tramite l’utilizzo di Notepad++, ottenendo ovviamente una risposta già utilizzata in passato. Un’espressione regolare, trovata in una discussione su Stack Overflow.

Senza necessità di evidenziare alcunché, ti basterà lanciare una sostituzione testo (CTRL+H), selezionando Espressione regolare, e inserendo nel campo sorgente ^(.*?)$\s+?^(?=.*^\1$), mentre dovrai lasciare vuoto il secondo campo (Sostituisci con). Appena fatto, fai clic su Sostituisci tutti ed il gioco sarà fatto.

Notepad++: rimuovere righe duplicate

Giusto per dettagliare meglio, cerco di riassumere quanto spiegato in originale:

  • ^ corrisponde all’inizio della riga.
  • (.*?) va a memorizzare progressivamente le righe trovate nel file, così da renderle disponibili in seguito per l’individuazione dei duplicati.
  • $ corrisponde al termine della riga.
  • \s+?^ questa parte corrisponde a tutti i caratteri di spaziatura (tipicamente nuove righe!) fino all’inizio della nuova riga (in pratica va a rimuovere le righe vuote che vengono lasciate dopo aver rimosso un duplicato).
  • (?=.*^\1$) è la parte di espressione regex che permette di rimuovere una riga quando questa è la stessa identica precedentemente rilevata in qualsiasi altro punto del file.

Buon lavoro! :-)

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!

Notepad++: aggiungere testo a inizio e fine di ogni lineaLo so, ne avevo già parlato (per metà, a dirla tutta), stavolta infatti ci aggiungo anche il riferimento al testo da anteporre a qualsiasi riga voi selezioniate all’interno di un file aperto in Notepad++, si perché non c’è cosa più buona e giusta che utilizzare un editor così ricco di funzioni, per fargli svolgere del lavoro che diversamente dovreste fare voi (a manina, o tramite altra applicazione).

Scenario: molte righe, un testo da anteporre e uno da posporre su ciascuna riga. L’esercizio si porta a termine ancora una volta tramite espressioni regolari. Bisognerà semplicemente evidenziare le righe che vi serve modificare, lanciare una sostituzione testo (CTRL+H), spostarvi su un tipo di ricerca basata su Espressione regolare e inserire nel campo sorgente “^” (senza le virgolette), mentre nel campo successivo inserire il test da andare ad anteporre alle righe. Assicuratevi di aver selezionato la voce “Nella selezione” (prima di fare danni, nda), potete ora fare clic su Sostituisci tutti.

Notepad++: aggiungere testo a inizio e fine di ogni linea 1

Diversa è la formula per andare a posporre il testo a fine riga, ripetendo ancora una volta l’operazione su tutte le righe selezionate. Tutto rimane invariato tranne il campo di ricerca, al posto di “^” ci andrà un “$” (ancora una volta senza virgolette).

Notepad++: aggiungere testo a inizio e fine di ogni linea 2

Facile e immediato.

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!

Notepad++ permette facilmente di ricercare un dettaglio all’interno di un documento e, nel caso in cui questo sia presente più volte, raccoglierlo in un box apposito dove potrete anche verificare il numero di riga in cui è stato individuato. Provate a evidenziare una parte di testo, premere CTRL + F e poi il pulsante “Trova tutto nel documento corrente“. Vi si aprirà un box in basso nella finestra con tutte le righe in cui è stato individuato il vostro testo. Voi potrete ovviamente copiare il contenuto del box e incollarlo in un nuovo file di testo sul quale operare ma soprattutto pulire il risultato.

Avrete notato che Notepad++ copia anche il suo inizio di riga (Line **: ecc.), sicuramente inutile per i vostri fini. Poco male, la pulizia è davvero a portata di mano e come al solito basta una espressione regolare. Aprite il box di sostituzione (CTRL + H) e inserite nel campo di ricerca:

\s+Line \d+:\s+

Mentre nel campo di sostituzione andrete a inserire ciò che dovrà diventare quel suo “Line…“, come un punto e virgola o un “a capo”, quest’ultimo si ottiene sempre nella stessa maniera, quindi con un semplice “\n” (no virgolette, mi raccomando). Ricordatevi ovviamente di andare a spuntare l’opzione “Regular expression” (o espressione regolare, se avete Notepad++ in italiano) prima di lanciare la sostituzione in tutto il documento (come in immagine):

CopyVCF-SostituzioneNotepadPP

Il gioco è fatto ed il documento sarà ora perfettamente pulito :-)

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!

Classica pillola che potrebbe tornare molto utile a chi spesso utilizza l’ottimo Notepad++ ed è solito modificare codici sorgenti o file di testo che includono testo da mandare a capo magari delineato solo da un carattere ben definito.

Nel mio caso avevo a che fare con un CSV esportato da Excel, delineato da un punto e virgola per ciascuna riga che sarebbe però dovuta andare a capo per essere lavorata al meglio in questo editor di testo. Come modificare quel delimitatore con un “invio” senza però farlo manualmente per ciascuna riga? Presto detto. Richiamate il “Sostituisci” con CTRL+H (o Cerca / Sostituisci) e inserite il vostro delimitatore, quindi il “\n” come espressione regolare (interpretato così come un a capo) per la sostituzione, proprio come in immagine:

Notepad++: sostituire facilmente un carattere con un a capo

Una volta lanciata la sostituzione otterrete il risultato voluto.

Buon lavoro!

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!

Non so voi ma io utilizzo Notepad++ più di qualunque altro software sul mio portatile (dopo il sistema operativo e il browser, ovviamente!): per prendere appunti, per scrivere batch, per modificare o creare “from scratch” codice PHP e tanto altro ancora. Una delle utility che preferisco anche come semplice Viewer sostituendo di fatto l’utilizzo del Blocco Note presente nativamente in Windows.

Il trucco di stasera è dedicato a lui e può tornare estremamente utile nel caso in cui dobbiate modificare un numero non meglio definito di righe accodando loro dell’ulteriore testo, cosa che probabilmente qualcuno li fuori farebbe semplicemente premendo la sequenza “fine, CTRL+V, freccia sotto” per ciascuna riga (la battuta non è per tutti, ma è semplice, fidatevi).

In realtà la stessa cosa si fa tramite la sostituzione testo (CTRL+H) e una semplice espressione regolare:

NotepadPP-append

Da ^(.+)$ a \1TESTO DA INSERIRE

Cosa vuol dire? Per ciascuna riga all’interno del file apponi un “\” finale, che potrebbe facilmente diventare qualsiasi altra cosa modificando il “\” dopo il “\1”. A quel punto basterà un “Sostituisci tutti” per lanciare l’operazione e godersi il risultato in pochi istanti.

Tutto spiegato come da fonte utilizzata (grazie!): question-defense.com/2010/07/29/append-text-to-each-line-in-notepad-prefix-text-to-every-line-in-notepad