[Perl] matching operator, substitution et regexp...

matching operator, substitution et regexp... [Perl] - Programmation

Marsh Posté le 19-03-2002 à 10:02:55    

hi. c'est encore moi (et c'est encore du Perl ;) ).
 
je voudrais "travailler" une string un peu comme ça :
 
my $string = "premier=toto deuxieme=titi troisieme=tutu";
...
# $toto = "toto"
# $titi = "titi"
# $tutu = "tutu"
 
le pb c'est que ma string peut contenir toto, titi ou tutu ou juste titi ou tutu ou alors juste toto etc... Je voudrais ensuite recup la chaine "toto" dans $toto en virant la chaine "premier=" etc...
 
Si qqun a une piste pour faire ça proprement... je vais travailler dessus bien sur mais si vous avez un petite idée faut pas se gener ;)
 
hihi :p

Reply

Marsh Posté le 19-03-2002 à 10:02:55   

Reply

Marsh Posté le 19-03-2002 à 11:35:42    

Pourquoi veux-tu extraire "toto", si tu sais qu'il est présent, tu fais: $toto = "toto" et c'est bon, et dans ce cas, tu peux faire:
 
if($n=$string=~m/toto/) {
   $toto = "toto";
}
 
 ;)


---------------
"Si ça peut déconner, ça va déconner..."
Reply

Marsh Posté le 19-03-2002 à 12:06:03    

euh, je n'ai peu etre pas tout compris, mais pourquoi n'utilises tu pas un tableau ?
 
genre:
 
@string = qw(toto titi tutu)
$a = $string[0] #la tu rechopes toto
$b = $string[1] #la tu rechopes titi
$b = $string[2] #enfin, la tu rechopes tutu
 
enfin aprés tu joues avec les variables et tableaux
 
mais je ne suis pas sur que cela réponds à ta question, car je ne l'ai pas bien comprise ;)
 
Bon courage
 
++

Reply

Marsh Posté le 19-03-2002 à 12:34:09    

je me suis peut etre mal expliqué...
 
Deep > je ne SAIS PAS si toto est present : dans ma chaine je peux avoir jusqu'a 3 champs differents mais je n'ai pas forcement toto par exemple...
 
Angel > non c'est pas ça que je veux faire... ;)
 
un exemple plus parlant :
 
# contenu de $string -> 'Description="ma desc" Start="mon start" End="ma end"'
 
is se peut que $string ne contienne que le start par exemple ou alors seulement la description...
et je veux recuperer qqe chose dans des scalaires :
 
# contenu des mes scalaires apres traitement
# $desc = "ma desc"
# $start = "mon start"
# $end = "ma end"
 
en fait je veux faire une fonction qui parse ma chaine pour retirer certaines infos et les stocker dans des scalaires.
 
... en fait j'ai trouvé comment faire entre temps...
 
if ($string =~ /Description=/)
    {
      $desc = $string;
      $desc =~ s/Description=//;
    }
if ($string =~ /Start=/)  
    {
      ...
 
En fait c'etait pas si dur que ça...
 
merci qd meme.
 
hihi :p
 
EDIT : en fait cette solution ne marchait pas... il faut que je fasse un split de ma chaine avt !  ;)

 

[jfdsdjhfuetppo]--Message édité par impulse--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 19-03-2002 à 13:22:22    

ahh oki, je n'avais pas compris ta question, dsl :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed