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);
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));
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!