ホームページ > Java > &#&チュートリアル > 文字列内の部分文字列の出現を効率的にカウントするにはどうすればよいですか?

文字列内の部分文字列の出現を効率的にカウントするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-18 13:54:10
オリジナル
814 人が閲覧しました

How to Efficiently Count Substring Occurrences in a String?

文字列内で出現する部分文字列の検索

次のコードの目標は、部分文字列 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート