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

Java Discussion :

Découpage d'une chaine via expressions régulières


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 37
    Points : 32
    Points
    32
    Par défaut Découpage d'une chaine via expressions régulières
    Bonjour à tous,

    Je souhaiterais découper une chaine de caractères pour en extraire des éléments. Ces éléments sont soit des mots (séparés par un espace), soit des groupes de mots, dans ce cas des guillemets permettent de délimiter l'élément.

    Par exemple, sur la chaine
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    toto "foo foo" "bar bar" titi
    je souhaite extraire 4 éléments (un par ligne) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    toto
    foo foo
    bar bar
    titi
    Dans le cas simple où il n'y a pas de guillemets j'arrive à découper la chaine (soit via split avec la regexp \s+, soit en récupérant les groupes qui matchent la regexp \w+).

    Par contre quand il faut prendre les guillemets en compte je suis bloqué. Quelqu'un aurait des pistes à me suggérer ?

  2. #2
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 570
    Points : 15 537
    Points
    15 537
    Par défaut
    tu peux faire un find() avec l'expression régulière ".*?"|\S

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 138
    Points : 172
    Points
    172
    Par défaut
    il faut regarder du coté de la classe Scanner

  4. #4
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    ok avec Uther.
    Regardes les classes Matcher et Pattern
    http://www.java2s.com/Code/Java/Regu...tternMatch.htm

Discussions similaires

  1. [RegExp] comparaison début d'une chaine par expressions réguliéres.
    Par madina dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/11/2011, 12h43
  2. Expression régulière : Découpage d'une chaine
    Par hisoft dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 23/11/2010, 10h33
  3. Extraire une chaine via Expression Régulières ?
    Par Fikou-Sama dans le forum VB.NET
    Réponses: 3
    Dernier message: 11/09/2009, 16h58
  4. Substition de chaines via expressions régulières
    Par Katyucha dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 28/02/2007, 09h53
  5. découpage d'une chaine de caractère
    Par lamojuli dans le forum ASP
    Réponses: 4
    Dernier message: 13/05/2004, 15h00

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