文字列内で出現する部分文字列の検索
次のコードの目標は、部分文字列 findStr が文字列内に出現する回数を判断することです。 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);
ただし、このアルゴリズムは次の条件で終了できない場合があります。特定の状況。問題は、lastIndex = findStr.length() により、アルゴリズムが文字列の末尾を超えて検索する可能性があるという事実にあります。これを解決するには、代わりに次のアプローチを使用できます。
String str = "helloslkhellodjladfjhello"; String findStr = "hello"; int count = StringUtils.countMatches(str, findStr); System.out.println(count);
このコードは、Apache Commons Lang の StringUtils.countMatches メソッドを利用しており、部分文字列の出現をカウントするためのより堅牢で効率的なソリューションを提供します。
以上が文字列内の部分文字列の出現を効率的にカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。