2

"\"空の文字列に置き換えたい。私は多くのことを試しましたが、うまくいきません。

このようなMyTexttest/test\test:test*test?test"test<test>test|test

MyText.Replace("\\\"", "").Replace("\\", "").Replace("\"", "").Replace("\\", "");

これを正しく行う方法は?

4

5 に答える 5

13

次のように単純にする必要があります。

string oldStr = "test/test\\test:test*test?test\"test<test>test|test";
string newStr = oldStr.Replace(@"\", string.Empty);

文字列を逐語的な文字列リテラル@として扱うために記号を使用したことに注意してください。これにより、使用するたびに円記号をエスケープする必要がなくなります。

編集 Replace関数は、呼び出した文字列の内容を置き換えないことにも注意してください。代わりに、置換が行われた新しい文字列を返します。投稿したコードから判断すると、これが問題の実際の原因であると思われます。

于 2013-01-22T13:08:13.260 に答える
1

これを試してみてください

var str = @"test/test\test:test*test?test"test<test>test|test".Replace("\\", "");
于 2013-01-22T13:08:37.503 に答える
1

あなたはいつでもすることができます:

string newString = oldString.Replace("\\", "");
于 2013-01-22T13:08:46.053 に答える
0

でやってみました

string test = @"test/test\test\test";
string result = test.Replace("\\", null);

そしてそれはうまくいきます。結果は「test/testtesttest」です

于 2013-01-22T13:11:36.710 に答える
0

どうですか

MyString.Replace(@"\", "");

于 2013-01-22T13:12:51.620 に答える