"\"
空の文字列に置き換えたい。私は多くのことを試しましたが、うまくいきません。
このようなMyTexttest/test\test:test*test?test"test<test>test|test
MyText.Replace("\\\"", "").Replace("\\", "").Replace("\"", "").Replace("\\", "");
これを正しく行う方法は?
"\"
空の文字列に置き換えたい。私は多くのことを試しましたが、うまくいきません。
このようなMyTexttest/test\test:test*test?test"test<test>test|test
MyText.Replace("\\\"", "").Replace("\\", "").Replace("\"", "").Replace("\\", "");
これを正しく行う方法は?
次のように単純にする必要があります。
string oldStr = "test/test\\test:test*test?test\"test<test>test|test";
string newStr = oldStr.Replace(@"\", string.Empty);
文字列を逐語的な文字列リテラル@
として扱うために記号を使用したことに注意してください。これにより、使用するたびに円記号をエスケープする必要がなくなります。
編集 Replace関数は、呼び出した文字列の内容を置き換えないことにも注意してください。代わりに、置換が行われた新しい文字列を返します。投稿したコードから判断すると、これが問題の実際の原因であると思われます。
これを試してみてください
var str = @"test/test\test:test*test?test"test<test>test|test".Replace("\\", "");
あなたはいつでもすることができます:
string newString = oldString.Replace("\\", "");
でやってみました
string test = @"test/test\test\test";
string result = test.Replace("\\", null);
そしてそれはうまくいきます。結果は「test/testtesttest」です
どうですか
MyString.Replace(@"\", "");