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 :

Aide pour extraire des mots d'une chaine de caratères.


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Points : 66
    Points
    66
    Par défaut Aide pour extraire des mots d'une chaine de caratères.
    Bonjour,

    Je cherche une expression régulière, et j'arrive à rien

    J'ai une chaine de caractères en entrée, comme par exemple:
    le chat de ${nom_proprio_chat} est passé sous la voiture de ${nom_proprio_voiture}.

    Je voudrai extraire les mots entre ${mot}, donc ici nom_proprio_chat et nom_proprio_voiture.

    Merci de votre aide.

    Mathieu

  2. #2
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Salut, tu peux essayer cette regex
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $regex = '#\$\{([^\}]+)\}#mU';
    (non testé)

    Bon développement

  3. #3
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Points : 66
    Points
    66
    Par défaut
    merci pour ta réponse.

    Ca ne marche pas

  4. #4
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Re, tu peux montrer le code que tu utilises ?

  5. #5
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Points : 66
    Points
    66
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    static void Main(string[] args)
    {
        string pattern = @"#\$\{([^\}]+)\}#mU";
        string str = "le chat de ${nom_proprio_chat} est passé sous la voiture ${nom_proprio_voiture}.";
     
        try
        {
            Regex regSepar = new Regex(pattern);
            MatchCollection collecMots = regSepar.Matches(str);
     
            if (collecMots.Count > 0)
            {
                foreach (Match match in collecMots)
                Console.WriteLine(match.Value);
             }
             else
             {
                 Console.WriteLine("Zéro résultat.");
             }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
     
        Console.ReadLine();
    }
    Merci de ton aide.

    Mathieu

  6. #6
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Points : 66
    Points
    66
    Par défaut
    Bonjour à tous.

    Finalement, le pattern de Nesmontou était correct, sauf que en C#, les # en début et fin sont inutiles.
    Donc string pattern = @"\$\{([^\}]+)\}"; ca roule super.

    Et finalement, c'est abondonné tout ça, et je passe par Spring.Net, qui me gère tout ça très bien

    Mathieu

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

Discussions similaires

  1. Besoin d'aide pour extraire des données d'une feuille à l'autre
    Par fransky dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/11/2010, 15h03
  2. Réponses: 0
    Dernier message: 27/12/2008, 23h49
  3. Comment extraire des mots dans une phrase (chaine de characteres)
    Par gilles06 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/07/2008, 18h54
  4. [Tableaux] Extraire des mots d'une chaine de caractères
    Par pratiquement dans le forum Langage
    Réponses: 5
    Dernier message: 24/01/2008, 09h20
  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