Vorkommen von Teilzeichenfolgen in einer Zeichenfolge finden
Im folgenden Code besteht unser Ziel darin, zu bestimmen, wie oft die Teilzeichenfolge findStr innerhalb der Zeichenfolge vorkommt string str:
String str = "helloslkhellodjladfjhello"; String findStr = "hello"; int lastIndex = 0; int count = 0; while (lastIndex != -1) { lastIndex = str.indexOf(findStr, lastIndex); if (lastIndex != -1) count++; lastIndex += findStr.length(); } System.out.println(count);
Dieser Algorithmus kann jedoch unter bestimmten Umständen nicht beendet werden. Das Problem liegt darin, dass lastIndex = findStr.length() dazu führen kann, dass der Algorithmus über das Ende der Zeichenfolge hinaus sucht. Um dieses Problem zu lösen, können wir stattdessen den folgenden Ansatz verwenden:
String str = "helloslkhellodjladfjhello"; String findStr = "hello"; int count = StringUtils.countMatches(str, findStr); System.out.println(count);
Dieser Code verwendet die StringUtils.countMatches-Methode von Apache Commons Lang, die eine robustere und effizientere Lösung zum Zählen des Vorkommens von Teilzeichenfolgen bietet.
Das obige ist der detaillierte Inhalt vonWie kann man Teilstring-Vorkommen in einem String effizient zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!