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 Java Discussion :

Expressions régulières : problème


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 60
    Par défaut Expressions régulières : problème
    Bonjour,
    voici mon probleme.
    J'ai une variable de ce type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String statusContent=([run0000,Ended,Ended],           [run0001,Ended,Ended],           [run0002,Ended,Ended])
    J'aimerai alors stocker dans une autre variable de type String [] chaque run et sa situation. Cela aurait la forme suivante a l'affichage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [run0000,Ended,Ended]
    [run0001,Ended,Ended]
    [run0002,Ended,Ended]
    Je veux donc utiliser les expressions regulieres mais je n'arrive pas a obtenir ce que je veux. Voila ce que j'effectue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     String[] columnType =
                            statusContent.trim().split("\\[.s*,\\s*.]");
    Ne maitrisant pas assez les expressions regulieres, si quelqu'un pouvait me venir en aide je lui en serai tres reconnaissant.
    Cordialement,
    Sim's

  2. #2
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Salut,
    si tu n'as pas d'espaces autres qu'entre les données tu dois pouvoir splitter directement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String[] columnType = statusContent.trim().split(", +");

  3. #3
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    Regarde les classes Pattern et Matcher qui vont te permettre de décomposer ta chaîne de caractères en utilisant les expressions régulières.

    Voici un exemple de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    String statusContent = "[run0000,Ended,Ended],           [run0001,Ended,Ended],           [run0002,Ended,Ended]";
    Pattern pattern = Pattern.compile("\\[(\\w+),(\\w+),(\\w+)\\]");
     
    Matcher matcher = pattern.matcher(statusContent);
    while(matcher.find()) {
        String run = matcher.group();
        String runLabel = matcher.group(1);
        String state1 = matcher.group(2);
        String state2 = matcher.group(3);
        System.out.println(run);
        System.out.println(" - " + runLabel);
        System.out.println(" - " + state1);
        System.out.println(" - " + state1);
    }
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 60
    Par défaut
    Merci a vous deux, j'en etais arrive au meme conclusion que Djackisback, du coup j'ai un autre petit probleme.
    Maintenant que j'ai obtenue mon split, j'aimerais pouvoir le mettre dans un tableau en deux dimension pour pouvoir l'inserer dans une JTable.
    C'est a dire que j'aimerai separer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [run0000,Ended,Ended]
    [run0001,Ended,Ended]
    [run0002,Ended,Ended]
    pour avoir 3 lignes mais aussi 3 colonnes.

    Voila ce que je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     int NbrRows = columnType.length;
    String[][] choiceForColumns = new String[NbrRows][dim];
                    String[] Test = null;
                    for (int n = 0; n < NbrRows; n++) {
                        for (int m = 0; m < 3; m++) {
                                              choiceForColumns[m][n] =columnType[n].trim().split("\\,") ;
                        }
                    }
    Mais cela ne marche pas et je suis un peu en train de m'embrouiller.. si vous pouvez continuer a m'aider je vous en remercie d'avance.

  5. #5
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    Le code de mon message précédent s'adapte parfaitement à ton besoin, pourquoi ne pas t'en inspirer .
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 60
    Par défaut
    Merci Beaucoup !!!
    Probleme resolu

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

Discussions similaires

  1. [XL-2010] Expressions Régulières Problème
    Par Saffana2013 dans le forum Excel
    Réponses: 4
    Dernier message: 14/02/2014, 16h07
  2. recherche d'expression régulière - problème
    Par cokoraly dans le forum Général Python
    Réponses: 7
    Dernier message: 03/11/2011, 15h10
  3. Réponses: 1
    Dernier message: 23/06/2011, 19h34
  4. [RegEx] Expressions régulières : problème avec e-mail
    Par webrider dans le forum Langage
    Réponses: 7
    Dernier message: 28/08/2006, 11h30
  5. Problème sur une expression régulière
    Par Verbal-Quint dans le forum Langage
    Réponses: 6
    Dernier message: 12/11/2004, 11h54

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