-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:05:21.380 回答
0
content = content.Replace("'", "\\'")
于 2013-04-03T06:08:56.497 回答
0

你想输出json字符串吗?看起来你正试图这样做。如果是这种情况,您可以使用 json 序列化程序将普通字符串序列化为 json 字符串,就像您要求的那样。

于 2013-04-03T06:11:44.927 回答