一部の文字を他の文字に置き換えたいのですが、ここで前にこのような質問をしましたが、Replace 関数を使用することをお勧めしていますが、Replace を使用すると、文字を別の文字に置き換えようとすると特定の状態になり、別の文字も削除されます文字列にあり、削除したくありません。より明確にするためのコードは次のとおりです
for (int i = 0; i < words.Length; i++)
{
for (int j = 1; j < words[i].Length; j++)
{
if (j + 2 == words[i].Length)
break;
if (words[i][j] == words[i][j + 2] && words[i][j + 1] == '0')
{
words[i] = words[i].Replace(words[i][j + 1].ToString(), string.Empty);
}
}
}
コードによると、文字列が「a1010」だった場合、最終的な文字列は a110 になるはずですが、出力は a11 です。なぜ最後の 0 が削除されるのでしょうか??