1. ホーム
  2. c#

[解決済み] 文字列の中でN番目に出現する文字を探す

2023-03-28 07:39:22

質問

文字列中にN番目に出現する文字のインデックスを返すC#メソッドを作成する手助けが必要です。

例えば、3番目に出現する文字 't' という文字列の中に "dtststxtu" は5です。

(なお、この文字列には4つの t s.)

どのように解決するのですか?

public int GetNthIndex(string s, char t, int n)
{
    int count = 0;
    for (int i = 0; i < s.Length; i++)
    {
        if (s[i] == t)
        {
            count++;
            if (count == n)
            {
                return i;
            }
        }
    }
    return -1;
}

これならもっとすっきりさせられるし、入力に対するチェックもない。