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(); }
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![]()
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 ....
Il est aussi possible de faire un split, et de calculer le nombre d'éléments obtenus dans le tableau - 1
C'est barbare, je sais![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager