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

Programmation et administration système Perl Discussion :

Récupérer le début d'une chaine de caractères


Sujet :

Programmation et administration système Perl

  1. #1
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 243
    Points : 89
    Points
    89
    Par défaut Récupérer le début d'une chaine de caractères
    Bonjour,

    Voici une demande toute simple.

    Comment je peux récupérer ce qu'il y a avant "Données" dans ma chaine de caractère ci-dessous SVP ?

    my $texte = "SentDonnées";

    J'ai passé l'après midi de hier sur les pages des Regex mais je ne trouve pas ce qu'il me faut.

    D'avance, merci pour votre aide.

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Une manière simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $perl -E 'my $texte = "SentDonnées";say $texte =~ /(.*?)Données/'
    Sent

  3. #3
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 243
    Points : 89
    Points
    89
    Par défaut
    En effet c'est tout simple et ça marche nickel.

    Merci Philou !

  4. #4
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    On peut aussi utiliser l'assertion (de taille 0) post-match, mais le comportement pourrait être différents si l'on colle plusieurs motifs concordants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ perl -E 'my $texte = "SentDonnéesReceivedDonnées";say join ",", $texte =~ /(.+?)Données/g;say join ",", $texte =~ /(.+?(?=Données))/g'
    Sent,Received
    Sent,DonnéesReceived
    De même, je suggère de remplacer * par +, et peut-être d'être plus restrictif sur le . pour n'accepter que les caractères autorisés avant "Données" (tu n'as pas précisé, donc j'ai pris l'option la plus simple : n'importe quel caractère).

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/08/2008, 09h58
  2. Récupérer un élément d'une chaine de caractère
    Par DJuL- dans le forum Windows Forms
    Réponses: 5
    Dernier message: 08/04/2008, 09h33
  3. [RegEx] Supprimer les espaces au début d'une chaine de caractère
    Par PoichOU dans le forum Langage
    Réponses: 2
    Dernier message: 30/01/2008, 17h49
  4. Afficher le début d'une chaine de caractère
    Par yaumme dans le forum Langage
    Réponses: 2
    Dernier message: 10/07/2007, 14h46
  5. [RegEx] comment récupérer un lien dans une chaine de caractère
    Par matonisuka dans le forum Langage
    Réponses: 4
    Dernier message: 25/05/2007, 15h36

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