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 :

Condition de sortie "jusqu'à fin de chaine"


Sujet :

Langage Perl

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Condition de sortie "jusqu'à fin de chaine"
    Bonjour,

    Le truc me semble tout c*n mais je n'y arrive pas. J'ai cherché pourtant, sans succès. Je débute.
    Je veux rechercher dans un scalaire un motif avec une expression régulière, et pusher toutes les occurrences trouvées dans un tableau.
    Mais je ne trouve pas la condition de sortie "fin de chaine". Je pensais à un unless (fin de chaine) {...}
    Je me débrouille en trichant avec un for et une itération bien supérieure à ce que je suis susceptible de trouver et en non-doublonnant les entrées.

    Ca donne ça (en admettant qu'on puisse en trouver 5 au max par exemple) :
    for $i (1..10){
    $phrase =~ /\w*le\w*/;
    $mot_trouve = $&;
    $phrase =~ s/$mot_trouve//;
    push @tous, $mot_trouve unless ($mot_trouve ~~ @tous);
    }

    Merci.

  2. #2
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 469
    Points
    12 469
    Billets dans le blog
    1
    Par défaut
    Je ne peux rien tester pour l'instant, mais essaie avec un whileet l'option g des expressions régulières. Il y a des exemples dans la doc.

    Un truc dans ce genre devrait marcher à peu près:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while ( $phrase =~ /(\w*le\w*)/g  ){
        print "$1\n";
    }
    mais il est tout-à-fait possible qu'il y ait une petite bêtise ici ou là. J'espère en tous cas que ça te mettra sur la bonne voie.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Mais oui bien sûr...
    L'option g... pourtant je connaissais. Quel âne.

    Ça marche nickel. (Et une seule ligne suffit ensuite.)

    Grand merci.
    Résolu donc.

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

Discussions similaires

  1. comment supprimer des caracteres en fin de chaines
    Par BernardT dans le forum Langage
    Réponses: 1
    Dernier message: 19/07/2006, 17h41
  2. [AJAX] IE coupe début et fin de chaine
    Par julien.63 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/07/2006, 17h39
  3. Supprimer les espaces en fin de chaine.
    Par KneXtasY dans le forum C
    Réponses: 5
    Dernier message: 26/12/2005, 10h33
  4. Suppression des blancs en fin de chaine
    Par Spyco dans le forum C
    Réponses: 4
    Dernier message: 22/12/2005, 15h13
  5. [langage] condition de sortie d'une boucle
    Par perlaud dans le forum Langage
    Réponses: 3
    Dernier message: 23/09/2004, 10h25

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