PDA

Visualizza la versione completa : [PERL] Elaborazione stringa (Mi manca poco)


playbasfa
21-03-2012, 21:43
Buona sera ragazzi :D!
Premetto che non ho mai studiato perl, mi sto spulciando adesso i comandi, giusto perchè ho l'esigenza di creare uno script.
Speravo qualcuno di voi mi potesse aiutare, ci sono quasi, mi manca l'ultimo passettino:

Ho un vettore del tipo:


$vettore="ciao, telaio, mela!!! (topsecret), ancora una("


A me interessa estrarre la parola topsecret, ho pensato di fare così:


@miaparola=split(" ",@vettore);


in questo modo in
@miaparola[3] avrò
(topsecret)

La domanda è: Adesso come faccio a togliere le parentesi in modo da avere soltanto topsecret?
Grazie in anticipo a chinque voglia aiutarmi!

Mich_
02-04-2012, 09:19
Con le RE (regular expressions)

E` un linguaggio a se` che si trova disponibile in molti linguaggi, con sintassi molto simile.

Per maggiori info, puoi vedere i manuali del Perl (fatti molto bene, anche per le RE).

Nel tuo caso (ad esempio):

my $vettore="ciao, telaio, mela!!! (topsecret), ancora una(";
my @miaparola = split(" ",@vettore);
my $out = @miaparola[3];
$out =~ s/[\(\)]//; # esse slash apertaquadra backslash apertatonda backslash chiusatonda chiusaquadra slash slash

Ma per estrarre una stringa compresa tra le parentesi, puoi anche fare:

my $vettore="ciao, telaio, mela!!! (topsecret), ancora una(";
$vettore =~ /\((.+?)\)/; # slash backslash apertatonda apertatonda punto piu` puntointerr chiusatonda backslash chiusatonda slash
my $out = $1;

Loading