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

C# Discussion :

[Regex] Extraire infos précise d'une chaine


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 94
    Points : 46
    Points
    46
    Par défaut [Regex] Extraire infos précise d'une chaine
    Bonjour à tous,

    J'aimerai extraire des informations précise d'une chaine de caractere.
    La chaine de caractere aura cette forme là ( avec plus ou moins de parametre) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    i=5422528&m=3967&e=featjl%40free.fr&UE=614436367
    J'aimerai extraire les valeurs des i,m,e et UE en utilisant les expressions régulieres. J'ai pensé à spliter la chaine("="), mais le probleme c'est qu'apres il faut enlever les caracteres en trop("&m" par exemple) à chaque fois

    Quelqu'un aurait une idée pour faire plus simple et plus efficace .

  2. #2
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    string input = "i=5422528&m=3967&e=featjl%40free.fr&UE=614436367";
    MatchCollection matches = Regex.Matches(input, "(^|&)(?<param>[^=]+)=(?<val>[^&]+)", RegexOptions.ExplicitCapture);
    foreach (Match match in matches)
    {
        Console.Write(match.Groups["param"].Value);
        Console.Write(" = ");
        Console.WriteLine(match.Groups["val"].Value);
    }
    devrait fonctionner.
    Pas de questions techniques par MP

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 94
    Points : 46
    Points
    46
    Par défaut
    Ok , merci , je vais tester ça.

    Par contre si tu peux m'expliquer rapidement les options de cette partie là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Regex.Matches(input, "(^|&)(?<param>[^=]+)=(?<val>[^&]+)", RegexOptions.ExplicitCapture);

    ps: je suis débutant en c# ( même si je connais l'objet et les expressions reguliere en php, shel ... etc)

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 94
    Points : 46
    Points
    46
    Par défaut
    Ca marche trés bien.
    merci

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    en informatique
    Inscrit en
    Avril 2018
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : en informatique

    Informations forums :
    Inscription : Avril 2018
    Messages : 24
    Points : 0
    Points
    0
    Par défaut Expression régulières
    Bonjour à vous tous,

    s'ils vous plais comment extraire cette ligne d'un fichier "COMMAND 2000 _Tree_Item_Selection java.lang.String /application files/Tests"

    mes sincères remerciements

    Cordialement.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/12/2012, 16h00
  2. Extraire les nombres d'une chaine avec regex
    Par Alain15 dans le forum Général Java
    Réponses: 2
    Dernier message: 04/05/2011, 08h32
  3. [RegEx] extraire des éléments d'une chaine définie en regex
    Par omman95 dans le forum Langage
    Réponses: 1
    Dernier message: 29/12/2009, 15h32
  4. [LG]Extraire des nombres d'une chaine
    Par audreym31 dans le forum Langage
    Réponses: 4
    Dernier message: 18/01/2004, 21h24
  5. Réponses: 9
    Dernier message: 17/01/2003, 11h45

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