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 :

[langage] Extraction la date


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 10
    Par défaut [langage] Extraction la date
    Bonjour,

    J'aimerais savoir s'il y a une meilleur façon plus chic d'extraire une date dans une chaine de caractère.

    De plus, ma chaine de départ est modifiée. Je veux juste envoyer la valeur dans une autre chaine sans modifier la chaine source. (Extraire 20061015)

    my $moi = "0778600SGGFACUN2006101511154328.TXT";
    $chaine = $moi;
    my @lemot = ();
    while ($chaine =~ /20....../) {
    push @lemot, $&;
    $chaine = $';
    }

    ou bien...

    $chaine = $moi;
    $mot2 = substr($chaine, 16, 8);
    print $mot2 ;
    print "\n" ;

    Dans les deux cas, la chaine source a été affectée. Par contre, la date est extraite.

    Merci de votre aide.

  2. #2
    Membre expérimenté Avatar de rcageot
    Profil pro
    rien
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : rien

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Par défaut
    je comprend pas bien ou est ton problème en fait ??

    tu veux juste faire un print sans passer par une variable ?

  3. #3
    Membre expérimenté Avatar de rcageot
    Profil pro
    rien
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : rien

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Par défaut
    un truc comme ça ça irait ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    my $moi = "0778600SGGFACUN2006101511154328.TXT";
    my @chaine = ($moi =~ m/(20\d\d\d\d\d\d)/g);
    print "$moi => ".$chaine[0];

  4. #4
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 10
    Par défaut Merci
    T'as parfaitement compris ce que je voulais.

    Merci beaucoup!

  5. #5
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    plus élégant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    my $moi = "0778600SGGFACUN2006101511154328.TXT";
    my $date= $moi =~ /(200\d{5})/;
    print "Date => $date\n";

  6. #6
    Membre expérimenté Avatar de rcageot
    Profil pro
    rien
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : rien

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Par défaut
    lorsque je fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    my $moi = "0778600SGGFACUN2006101511154328.TXT";
    my @chaine = ($moi =~ m/(200\d{5})/g);
    print "$moi => ".$chaine[0]."\n";
     
     
    my $date = $moi =~ /(200\d{5})/;
    print "Date => ".$date."\n";
    le resultat est cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    0778600SGGFACUN2006101511154328.TXT => 20061015
    Date => 1
    c'est normal docteur ?

    pourquoi le résultat de la fonction de djibril me renvoit 1?
    il se comporte comme si il avait juste testé que cette occurence était bien présente dans la cghaine et ne renvoit pas le résultat dans la variable !! je pige pas tout là !

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

Discussions similaires

  1. [vba-e] Probleme D'extraction De Date
    Par lio62 dans le forum Excel
    Réponses: 13
    Dernier message: 31/03/2007, 19h29
  2. [DATE] Gestion de calendrier et extraction de date
    Par cadoudal56 dans le forum SQL Procédural
    Réponses: 17
    Dernier message: 17/01/2007, 21h23
  3. [langage] string en date moins un jour
    Par claudej dans le forum Langage
    Réponses: 10
    Dernier message: 09/11/2006, 14h47
  4. [langage] extraction entre 2 lignes
    Par sasame dans le forum Langage
    Réponses: 20
    Dernier message: 25/01/2005, 12h23
  5. Réponses: 4
    Dernier message: 02/09/2004, 21h43

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