IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

[CHAINES DE CARACTERES]Recuperer une partie d'une chaine avec substr et rindex


Sujet :

Langage Perl

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Septembre 2003
    Messages : 9
    Points : 7
    Points
    7
    Par défaut [CHAINES DE CARACTERES]Recuperer une partie d'une chaine avec substr et rindex
    Bonjour,

    J'ai un probleme qui me pousse a m'arracher les cheveux.

    J'aimerais recuperer la sous-chaine qui se trouve entre la troisieme occurence d'un caractere en partant de la fin et l'avant derniere.

    C'est pas tres clair, alors voila un petit exemple. Si je prends la chaine suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /com/data/private/recordings/03-12-05/audio/
    j'aimerais pouvoir trouver

    J'ai essaye un truc complique pour ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $start = rindex(substr($indir, 0, rindex(substr($indir, 0, rindex($indir, "/")), "/")), "/")+1 ;
    $end = rindex(substr($indir, 0, rindex($indir, "/")-1), "/") ;
    $date = substr($indir, $start, $end) ;
    Malheureusement je me retrouve avec comme valeur pour $date :

    Pourtant, si je fais le test suivant, en utilisant la meme valeur de fin que dans l'exemple precedant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $test = substr($indir, 0, rindex(substr($indir, 0, rindex($indir, "/")-1), "/")) ;
    j'ai bien comme valeur pour $test

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /com/data/private/recordings/03-12-05
    Je n'arrive pas a comprendre comment cela se fait. Il existe surement un moyen beaucoup plus simple de faire ce que je veux, mais je ne le connais pas.

    Si quelqu'un a une idee, je lui en serait extremement reconnaissant.

    PS : excusez l'absence d'accents dans mon post, j'ai un clavier anglais

  2. #2
    Mr6
    Mr6 est déconnecté
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 607
    Points : 794
    Points
    794
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    my $date = "/com/data/private/recordings/03-12-05/audio/";
    $date =~ s/.*\/(..-..-..)\/.*/$1/;
    ca devrait être pas mal pour ce que tu veux
    Pour plus d'info, lis la doc sur la recherche de motif, la substitution, etc...

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Septembre 2003
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    C'est bon, j'ai pu regler le probleme avec un truc comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $car = '/';
    $date = $indir ;
    $date =~ s/.*$car([^$car]*)$car[^$car]*$car$/$1/g;
    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/04/2013, 15h57
  2. [RegEx] Retourner une array sur une partie de la chaine
    Par absurdsystem dans le forum Langage
    Réponses: 2
    Dernier message: 25/04/2010, 16h03
  3. masquer une partie d'une vidéo par une banniere
    Par lezabour dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 16/10/2006, 16h47
  4. copier une partie d'une image vers une autre
    Par gregcat dans le forum Langage
    Réponses: 1
    Dernier message: 14/04/2006, 13h39
  5. comparaison d une partie de la chaine de caractere
    Par sneb5757 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/12/2005, 15h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo