Bonjour,
J'ai une chaine de caractere: "toto(nom),toto(prenom),toto(age).
A partir d'une rexexp je voudrais extraire nom,prenom,age.
Je vous remercie de votre aide
Version imprimable
Bonjour,
J'ai une chaine de caractere: "toto(nom),toto(prenom),toto(age).
A partir d'une rexexp je voudrais extraire nom,prenom,age.
Je vous remercie de votre aide
Propose nous du code et on t'aideras. On va pas l'écrire à ta place ;)
Si tu ne sais pas par ou commencer je te conseille http://www.vogella.com/articles/Java...s/article.html
Comme il a dit Mr.ruscov, on ne peut pas te donner la solution prête .. mais l'idée est la suivante :
Extraire tous les noms qui commencent par '(' et se terminent par ')'.
Bonne chance.
Bonjour,
Voici un bout de code qui va lire ce que tu nous as donné :
MathieuCode:
1
2
3
4
5
6
7
8
9 String test = "toto(MonNom),toto(EstPersonne),toto(35)"; Pattern pattern = Pattern.compile("^toto\\((.*?)\\),toto\\((.*?)\\),toto\\((.*?)\\)$"); Matcher matcher = pattern.matcher(test); if (matcher.find()) { String nom = matcher.group(1); String prenom = matcher.group(2); String age = matcher.group(3); System.out.println("Nom = " + nom + ", Prenom = " + prenom + ", Age = " + age); }
bonjour,
je te remercie de ton aide.
jai vu dans ta reg exp tu as trois fois ceci: toto\\((.*?)\\) car dans ma chaine j 'avais ceci:
Code:String test = "toto(MonNom),toto(EstPersonne),toto(35)";
.Code:Pattern pattern = Pattern.compile("^toto\\((.*?)\\),toto\\((.*?)\\),toto\\((.*?)\\)$");
Est que c'est possible de faire le meme type de traitement avec une regexp ne sachant pas combien de fois on aura toto(valeur).
Je vous remercie
Bonjour,
Effectivement par simplicité j'ai repris 3 fois la même expression. Mais bien entendu tu peux faire mieux. Mais pour écrire la bonne expression régulière, tu devrais nous donner un exemple de ce que tu aimerais lire. Ce serait plus facile pour t'aider.
Mathieu
Bonjour à tous.
Je voulais savoir si dans ma chaine j'ai ceci:
[quote]String test = "toto(MonNom),TOTO(EstPersonne),toto(35)";[Quote]
Est ce que c'est possible de faire une reg exp du genre:
Pour que je puisse récupérer :Citation:
Pattern pattern = Pattern.compile("^String.CaseInsencive('toto')\\((.*?)\\");
Je vous remercieCitation:
MonNom, EstPersonne,35
Bonjour,
Tu peux faire comme ceci :
Je te conseille aussi la JavaDoc Oracle qui est bien faite :Code:
1
2
3
4
5
6
7 String test = "toto(MonNom),TOTO(EstPersonne),toto(35)"; Pattern pattern = Pattern.compile("toto\\((.*?)\\)", Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(test); while (matcher.find()) { String valeur = matcher.group(1); System.out.println("Valeur = " + valeur); }
http://docs.oracle.com/javase/7/docs...x/Pattern.html
Mathieu