Salut tout le monde
Est ce qu’il y’a une méthode prédifinie qui permet de retourner le nombre d’occurrences d’une sous chaine dans une chaine de caractére ?
La même question pour une liste(util.List) des des objets.
Merci d’avance![]()
Salut tout le monde
Est ce qu’il y’a une méthode prédifinie qui permet de retourner le nombre d’occurrences d’une sous chaine dans une chaine de caractére ?
La même question pour une liste(util.List) des des objets.
Merci d’avance![]()
Salut,
Non je ne pense pas que cela existe en standard, mais cela ne doit pas être trop dur à implémenter avec une boucle sur indexOf()...Envoyé par adilo
Il y a bien la méthode frequency() disponible depuis Java 5.0...Envoyé par adilo
Sinon il y a de fortes chances que tu trouves ton bonheur dans les Jakarta Commons Lang ou Collections...
a++
Pout les chaines tu peus utiliser les classes Pattern et Matcher.
Tu as des explications utiles à lire dans les cours et tutoriels pour apprendre Java : http://java.developpez.com/cours/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public int getSousChaineCount(String chaine, String sousChaine) { return Pattern.compile(Pattern.quote(sousChaine)).matcher(chaine).groupCount(); }
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
Attention la méthode groupCount() renvoit le nombre de groupe de l'expression régulière (les éléments entres parenthèses) et non pas le nombre d'élément trouvé...Envoyé par le y@m's
Si tu veux utiliser les regexp pour cela il faut utiliser une boucle avec la méthode find() :
a++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public static int getSousChaineCount(String chaine, String sousChaine) { Matcher matcher = Pattern.compile(Pattern.quote(sousChaine)).matcher(chaine); int count = 0; while (matcher.find()) { count ++; } return count; }
Envoyé par adiGuba
je croyais que cela renvoyait le nombre d'élément trouvé
(le nom de la méthode m'a induit en erreur par rapport aux méthodes group())
mea culpa
ça m'apprendra à pas lire la javadoc![]()
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
Merci bcp
Mais Collections.frequency() ne marche pas chez moi pouiquoi?
mon jdk est 1.4
![]()
parce que tu es en 1.4 justement. Il te faut 1.5 pour ça ....
Partager