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

API standards et tierces Java Discussion :

récupérer valeur entre " " dans string


Sujet :

API standards et tierces Java

  1. #1
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut récupérer valeur entre " " dans string
    Bonjours,


    je cherche une méthode qui peut etre est déjà implémenté pour récupérer les valeur entre ""

    exemple si j'ai : "aa"+"b+b"+"c-c"-"d+d"+"e+e"-"f+f"

    je voudrai par exemple récupérer les valeurs dans un tableau de string...

    {aa, b+b, d+d, e+e; f-f}...

    merci d'avance

  2. #2
    Membre éprouvé Avatar de Gardyen
    Homme Profil pro
    Bio informaticien
    Inscrit en
    Août 2005
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bio informaticien

    Informations forums :
    Inscription : Août 2005
    Messages : 637
    Points : 1 050
    Points
    1 050
    Par défaut
    Regarde donc du cote des expressions régulières, et des classes Pattern et Matcher
    Nous les geeks, c'est pas qu'on a une case en moins, c'est juste qu'on compte à partir de zéro.
    Plus les choses changent, plus elles restent les mêmes

  3. #3
    Membre averti
    Inscrit en
    Juin 2003
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 292
    Points : 317
    Points
    317
    Par défaut
    regarde du cote de java.util.regex.Pattern
    Cheers

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Points : 675
    Points
    675
    Par défaut
    Voila un bout de code qui permet de recuperer tout ce qu'il y a entre ""
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Pattern pattern = Pattern.compile("\\\"(.*?)\\\"");
    Matcher matcher = pattern.matcher(s);
     
    while (matcher.find()) {
    	System.out.println("=>"+matcher.group());
    }

  5. #5
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut
    oki merci je vais faire avec les matchers je pense que ca sera la meilleur solution

  6. #6
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut
    j'ai un autre probleme maintenant. c'est dans la ligne rouge.

    Qd sFormula = ""toto+titi"+"tata"" et str = ""toto+titi"" alors l'instruction sFormula.replaceAll(str,String.valueOf(compteur) ) ne fonctionne pas . (on devrai obtenir sFormula = "0+"tata"" )

    par contre si str = ""tata"" on a bien en retour ""toto+titi"+1"

    pourquoi ca ne marche pas dans le cas ou il y a "+" dans str?
    Comment faire pour que ca marche ?

    merci d'avance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     Matcher matcher = pattern.matcher(sFormula);
      		List list = new List();
             int compteur = 0;
             
             while (matcher.find()) {
            	 String str = matcher.group();
             	list.add(str);
             	sFormula = sFormula.replaceAll(str,String.valueOf(compteur) );
             	compteur++;
             }

  7. #7
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Bonjour.
    "+" est un caractère spécial dans les expressions régulières, et replaceAll prend une expressions régulère comme paramètre d'où le problème.

    dans le premier paramètre de replaceAll, fais ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sFormula = sFormula.replaceAll("\\Q"+str+"\\E",String.valueOf(compteur) );
    \Qxxxx\E fait un quote sur le xxxx pour être traité comme chaine littérale.

    Bonne chance.

  8. #8
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut
    merci c'est exactement ce que je voulai merci

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

Discussions similaires

  1. Récupérer le contenu de DataGridView dans string[][]
    Par stephane.julien dans le forum C#
    Réponses: 1
    Dernier message: 05/05/2008, 17h15
  2. récupérer valeur champ libre formulaire dans un état
    Par stagolee dans le forum VBA Access
    Réponses: 1
    Dernier message: 10/01/2008, 13h18
  3. Réponses: 10
    Dernier message: 20/06/2007, 18h02
  4. [c#]récupérer valeur d'un TextBox dans un Repeater
    Par Filippo dans le forum ASP.NET
    Réponses: 1
    Dernier message: 20/03/2007, 10h48
  5. [MySQL] récupérer valeur d'une variable dans une autre table
    Par Tee shot dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 15/03/2007, 22h07

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