文字列から特定の文字のすべてのインスタンスを削除する方法は?

String.Replace の戻り値を割り当てる必要があります 元の文字列インスタンスに:

したがって、代わりに (Contains check) は必要ありません

if (Gamertag2.Contains("^"))
{
    Gamertag2.Replace("^" + 1, "");
}

これだけ(なんだあの神秘的な +1 ?):

Gamertag2 = Gamertag2.Replace("^", "");

2 つのこと:

1) C# 文字列は不変です。これを行う必要があります:

Gamertag2 = Gamertag2.Replace("^" + 1, "");

2) "^" + 1 ?なぜあなたはこれをやっている?あなたは基本的に Gamertag2.Replace("^1", ""); と言っています


クライミングが言ったように、あなたの問題は間違いなく

Gamertag2.Replace("^"+1,"");

その行は、文字列から「^1」のインスタンスのみを削除します。 "^" のすべてのインスタンスを削除する場合は、次のようにします。

Gamertag2.Replace("^","");