Heim > Java > javaLernprogramm > Wie kann man das Vorkommen von Teilzeichenfolgen in Java effizient zählen?

Wie kann man das Vorkommen von Teilzeichenfolgen in Java effizient zählen?

Linda Hamilton
Freigeben: 2024-12-27 18:25:11
Original
527 Leute haben es durchsucht

How to Efficiently Count Substring Occurrences in Java?

Ermitteln des Vorkommens eines Teilstrings innerhalb eines Strings: Fehlerbehebung und eine alternative Lösung

Beim Ausführen des bereitgestellten Java-Codes zum Zählen des Vorkommens eines Teilstrings Innerhalb einer Zeichenfolge kann es zu Problemen kommen, wenn der Algorithmus nicht anhält. Dieses Problem ist darauf zurückzuführen, dass lastIndex ständig erhöht wird, ohne dass eine Prüfung durchgeführt wird, um sicherzustellen, dass die Grenzen der Zeichenfolge str nicht überschritten werden.

Um dieses Problem zu beheben, ändern Sie den Code so, dass er eine bedingte Prüfung enthält, die überprüft, ob lastIndex vorliegt liegt immer noch innerhalb der Grenzen von 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);
Nach dem Login kopieren

Alternativ können Sie die Methode StringUtils.countMatches aus dem Apache Commons Lang verwenden Bibliothek:

String str = "helloslkhellodjladfjhello";
String findStr = "hello";

System.out.println(StringUtils.countMatches(str, findStr));
Nach dem Login kopieren

Diese Methode vereinfacht das Zählen des Vorkommens von Teilzeichenfolgen und gewährleistet eine effiziente und zuverlässige Lösung.

Das obige ist der detaillierte Inhalt vonWie kann man das Vorkommen von Teilzeichenfolgen in Java effizient zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage