Compter les occurrences de sous-chaîne dans une chaîne
Lorsque vous essayez de vérifier les occurrences d'une sous-chaîne dans une chaîne, un problème courant survient lorsque la recherche l'algorithme ne parvient pas à se terminer. Pour remédier à cela, il est impératif d'aborder les points suivants :
Comprendre le problème
Considérez l'exemple fourni, où l'objectif est de compter les occurrences de « bonjour » dans la chaîne "helloslkhellodjladfjhello". L'algorithme recherche de manière itérative la sous-chaîne à l'aide de la méthode indexOf. Cependant, il ajuste progressivement le lastIndex en fonction de la longueur de la sous-chaîne, ce qui entraîne une boucle infinie.
Une solution fiable
Pour surmonter cela, on peut utiliser le countMatches méthode d’Apache Commons Lang. Cette fonction prédéfinie compte avec précision les occurrences de sous-chaînes, comme le démontre le code ci-dessous :
String str = "helloslkhellodjladfjhello"; String findStr = "hello"; System.out.println(StringUtils.countMatches(str, findStr));
Cela donne le nombre attendu de 3.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!