Maison >Java >javaDidacticiel >Comment compter efficacement les occurrences de sous-chaînes en Java ?

Comment compter efficacement les occurrences de sous-chaînes en Java ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-27 18:25:11558parcourir

How to Efficiently Count Substring Occurrences in 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn