-1

そんな文字列を置き換えたい

'10001'

の中へ

\'10001\'

次のコードは機能しません。

Console.WriteLine(content);
content.Replace("'", "\\'");
Console.WriteLine(content);

またはこれさえ:

Console.WriteLine(content);
content.Replace("'", "\\\\'");
Console.WriteLine(content);

contentは の前後でまったく同じですreplace。つまり、'10001'

VC# 2010 Express を使用しています。手伝ってくれてありがとう。

4

4 に答える 4

5

あなたは書く必要があります:

content = content.Replace("'", "\\'");

string不変型です。つまり、変更することはできません。Replace代わりに、 などのメソッドはInsert常に新しい文字列インスタンスを返します。詳しくはこちらをご覧ください。

ところで:ReSharper(またはおそらく同様のツール)をstring.Replace()使用している場合、メソッドの戻り値を割り当て/使用せずに呼び出すと警告が表示されます。

于 2013-04-03T06:04:05.020 に答える
0
content = content.Replace("'", "\\'")
于 2013-04-03T06:08:56.497 に答える
0

これを試してください。

content = content.Replace("'", "\\\\'");

于 2013-04-03T06:05:21.380 に答える