ホームページ > バックエンド開発 > C++ > C# を使用して文字列内のすべての部分文字列を検索するにはどうすればよいですか?

C# を使用して文字列内のすべての部分文字列を検索するにはどうすればよいですか?

DDD
リリース: 2025-01-04 03:36:40
オリジナル
356 人が閲覧しました

How Can I Find All Occurrences of a Substring in a String Using C#?

C# でのより大きな文字列内の部分文字列のすべての位置の検索

より大きな文字列内の特定の部分文字列のすべての出現を検索するタスクはプログラミングにおける一般的な課題です。 C# では、IndexOf メソッドは直接的なアプローチを提供しますが、部分文字列の複数のインスタンスを取得できません。

より良い代替方法は、拡張メソッドを利用することです。実装は次のとおりです。

public static List<int> AllIndexesOf(this string str, string value)
{
    if (String.IsNullOrEmpty(value))
        throw new ArgumentException("the string to find may not be empty", "value");

    List<int> indexes = new List<int>();
    for (int index = 0;; index += value.Length)
    {
        index = str.IndexOf(value, index);
        if (index == -1)
            return indexes;
        indexes.Add(index);
    }
}
ログイン後にコピー

この拡張メソッドを使用するには、単にそれが存在する名前空間をインポートし、文字列で直接呼び出します。

List<int> indexes = "fooStringfooBar".AllIndexesOf("foo");
ログイン後にコピー

このメソッドは、のすべてのインスタンスを効率的に識別します。大きい文字列内の部分文字列。その位置の包括的なリストを提供します。

以上がC# を使用して文字列内のすべての部分文字列を検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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