編集:だから、私が以前に持っていたものが正しかったことがわかりました.私は単にインデックスを間違って数えていました. ご意見ありがとうございます。
ユーザーからの特定の文字列内のすべての部分文字列インデックスを見つけるメソッドに取り組んでいます。userString.IndexOf から正しい位置を取得する際に問題が発生しています。部分文字列のすべての出現を見つけていることは知っていますが、整数インデックスはかなりずれています。
private static void getSubStringPositions(string userString, string userSubString)
{
string subStringPositions = "";
int position = 0;
if (userString.IndexOf(userSubString, position) == -1)
{
Console.WriteLine("Your sub-string was not found in your string.\n");
return;
}
while (position < userString.Length)
{
position += userString.IndexOf(userSubString, position);
subStringPositions += Convert.ToString(position) + ", ";
}
Console.WriteLine("The occurernce(s) for your sub-string are: " + subStringPositions + "\n\n");
return;
}
問題かもしれないと思いますposition += userString.IndexOf(userSubString, position);
が、部分文字列の位置の正確な記録を維持しながら、新しい開始位置を設定する方法が完全にはわかりません。