Maison >Java >javaDidacticiel >Comment compter efficacement les occurrences de sous-chaînes en Java ?
Recherche de l'occurrence d'une sous-chaîne dans une chaîne : dépannage et solution alternative
Lors de l'exécution du code Java fourni pour compter les occurrences d'une sous-chaîne dans une chaîne, vous pouvez rencontrer des problèmes avec l'algorithme qui ne s'arrête pas. Ce problème provient de l'incrément constant de lastIndex sans effectuer de vérification pour garantir qu'il ne dépasse pas les limites de la chaîne str.
Pour résoudre ce problème, modifiez le code pour inclure une vérification conditionnelle qui vérifie si lastIndex est toujours dans les limites de str:
String str = "helloslkhellodjladfjhello"; String findStr = "hello"; int lastIndex = 0; int count = 0; while (lastIndex != -1 && lastIndex < str.length()) { lastIndex = str.indexOf(findStr, lastIndex); if (lastIndex != -1) count++; lastIndex += findStr.length(); } System.out.println(count);
Vous pouvez également utiliser la méthode StringUtils.countMatches du langage Apache Commons bibliothèque :
String str = "helloslkhellodjladfjhello"; String findStr = "hello"; System.out.println(StringUtils.countMatches(str, findStr));
Cette méthode simplifie le processus de comptage des occurrences de sous-chaînes et garantit une solution efficace et fiable.
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!