PDA

Visualizza la versione completa : Regex: sostiture spazi con undeline


jumborex
30-12-2013, 14:36
Buondė,
Non mi riesce di ottenere un risultato con le espressioni regolari che dovrebbe invece essere semplice, ma il fatto č che conosco pochissimo di queste ultime e anche male.
Ho un file di testo che contiene un migliaio di linee del tipo:
COGNOME NOME NOME CD 123, ecc.
COGNOME NOMECD 123, ecc.
In pratica una serie di nominativi con uno, o pių nomi proprii, seguiti sempre dalla parola CD e altre cose che non interessano.
Per poter elaborare questa serie di linee debbo accorpare i nominativi in una singola parola, collegando cognome, nome ed eventualmente secondo e terzo nome, con degli underscore:
COGNOME_NOME_NOME CD 123, ecc.
Sto tentando l'elaborazione usando Notepad++, ma per il momento non ottengo risultati.
Qualcuno sa darmi uno spunto?
Grazie.

jumborex
30-12-2013, 17:58
Ok, dopo lunghe sperimentazioni e ricerche in Internet, sembrerebbe che la soluzione a questo problema sia la stringa:

([A-Z]+) ([A-Z]+)\w+\b(?<!\bCD)
che deve essere sostituita da

\1_\2
Devo dire che č meno semplice di quello che avrei creduto!

Loading