我想替换这样的字符串
'10001'
到
\'10001\'
以下代码不起作用:
Console.WriteLine(content);
content.Replace("'", "\\'");
Console.WriteLine(content);
甚至是这样:
Console.WriteLine(content);
content.Replace("'", "\\\\'");
Console.WriteLine(content);
值content
在replace
之前和之后完全相同,即'10001'
我正在使用VC#2010 Express。谢谢你的帮助。
答案 0 :(得分:6)
你必须写:
content = content.Replace("'", "\\'");
string
是一个不可变类型,这意味着它无法修改。相反,Replace
,Insert
等方法总是返回一个新的字符串实例。 See here了解更多信息。
顺便说一句:如果您使用的是ReSharper(或类似的工具),它会在您分配/使用方法的返回值时调用string.Replace()
时发出警告。
答案 1 :(得分:0)
试试这个。
content = content.Replace("'", "\\\\'");
答案 2 :(得分:0)
content = content.Replace("'", "\\'")
答案 3 :(得分:0)
你想输出json字符串吗?看起来你正试图这样做。如果是这种情况,你可以使用json序列化程序将普通字符串序列化为json字符串,就像你要求的那样。