【C#】replaceで文字列を置換されない場合の確認すべき点
C#のreplaceメソッドで置換されない場合は、以下の点を確認すれば解消できると思います。
※Java等も同様です。
- 置換後の値を受け取っているかどうか確認する。
replaceメソッド自体は実行されているが変更後の値を受け取っていない場合、実行結果として反映されません。
例えば、以下のプログラムの場合は置換されていないように見えます。
string str = "test"; str.Replace("t", "T"); Console.WriteLine(str); //実行結果 test
“test”を”Test”へ置換する想定でしたが、実行結果は”test”でした。
なぜなら、String型は不変のオブジェクトのため、値は変更できないからです。
そのため、変更を反映させるにはstr=str.Replace(“t”, “T”);とし、値を受け取れば置換が反映されます。
string str = "test"; str = str.Replace("t", "T"); Console.WriteLine(str); //実行結果 TesT
コメントを残す