ho la mia variabile:
$a="OGGI è una bella giornata (25° di temperatura), mi PIACEREBBE ANDARE a fare un giro in bicicletta";
Voglio ottenere:
$a="-C-OGGI è una bella giornata (25° di temperatura), mi -C-PIACEREBBE -C-ANDARE a fare un giro in bicicletta";
ovvero aggiungere "-C-" all'inizio di ogni parola scritta in maiuscolo (è un esempio, quindi non chiedetevi a cosa serve mettere "-C-")
PS Non è detto che la parola in maiuscolo sia sempre seguita da uno spazio
Con questa espressione regolare ottengo una cosa carina, ma giustamente, mi mangia la prima lettera e uno spazio
espressione
$a =~ s/[A-Z](.+?)[^A-Z]/-C-$1/g;
risultato
$a="-C-GGIè una bella giornata (25° di temperatura), mi -C-IACEREBBE-C-NDAREa fare un giro in bicicletta"
La soluzione più lunga sarebbe quella di
- scorporare la frase carattere x carattere
- fare un ciclo al cui interno metto un confronto con il carattere precedente
- se ho, fra carattere precedente e carattere letto, un'alternanza (simbolo / lettera minuscola / numero),lettera maiuscola allora aggiungo -C- all'inizio del carattere letto
... bla bla bla ... troppo lungo!
Grazie