1

私の質問は非常に簡単です。別の文字列内の文字列のすべてのインデックスを見つけるにはどうすればよいですか? これは私が書いたコードですが、問題はまったく同じインデックスを複数回返すことだけです。ここにあります:

    public static int[] IndicesOf(this string s, string Search, int StartIndex)
    {
        List<int> indices = new List<int>();
        int lastIndex = 0;
        lastIndex = s.IndexOf(Search);
        while (lastIndex != -1)
        {
            indices.Add(lastIndex);
            lastIndex = s.IndexOf(Search, lastIndex);
        }
        return indices.ToArray();
    }

このコードの何が問題なのかわかりません。次の検索の前にインデックスを進める必要があると思います。

4

1 に答える 1

5

私の推測では、2 番目のs.IndexOf呼び出しに 1 を追加する必要があります。

あれは:

lastIndex = s.IndexOf(Search, lastIndex + 1);
于 2013-03-23T21:58:05.813 に答える