Forum Programmation.perl split en perl

Posté par .
Tags : aucun
0
6
juin
2006
j'ai une phrase comprend des points (user.nom_de_user)
je veux recuperer seulement le nom_de_user pour cela j'ai essayé avec le code suivant :
my $phrase = "user.nom_user";
my @mots = split(/./, $phrase);
my $nombre = @mots;
print "username ".$mots[1];
avec ce code il ne m'affiche pas le nom de user sachant que lorque j'ai changé le separateur par un autre (: , espace ) pour le test le pg fonction normalement
est ce que il ya un traitement spécial de caractère "."(point )?
comment peut on resoudre ce pb ?
  • # .

    Posté par . Évalué à 2.

    Salut,
    le point . correspond à tout caractére (singulier ) sauf \n, pour utiliser le littéral . tu mets un \ devant ( \. correspond au caractère . )
  • # Re...

    Posté par . Évalué à 1.

    Tu devrais utiliser les expressions régulières qui font toute la puissance de ce langage:


    my $phrase = "user.nom_user";
    $phrase =~ s/.*\.(.+)$/$1/;


    man perlre pour plus d'infos sur les expressions régulières

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.