C#中的双引号字符串替换

pal*_*pal 32 c#

如何在C#中替换下面的字符串

当前:

"John K "GEN" Greg"
Run Code Online (Sandbox Code Playgroud)

目标:

 "John K \"GEN\" Greg"
Run Code Online (Sandbox Code Playgroud)

这是错误的,因为我没有正确地逃避它:

s = s.Replace(""","\"");
Run Code Online (Sandbox Code Playgroud)

用\(斜杠)替换引号的语法是什么?

任何帮助,将不胜感激.

谢谢

Joe*_*oey 80

s = s.Replace("\"", "\\\"");
Run Code Online (Sandbox Code Playgroud)

要么

s = s.Replace(@"""", @"\""");
Run Code Online (Sandbox Code Playgroud)

在第一个例子"中,必须使用反斜杠进行转义,否则它将结束字符串.同样,在替换字符串\\中需要通过转义转义字符来产生单个反斜杠.

在第二个示例中,使用了逐字字符串文字,它们被写为@"...".在这些文字中,没有识别出转义序列,允许您以更清晰的方式编写包含大量反斜杠的字符串(例如正则表达式).在那里工作的唯一转义序列是""单一的".


zmb*_*mbq 8

你应该使用双反斜杠:

s = s.Replace("\"", "\\\"");
Run Code Online (Sandbox Code Playgroud)


小智 5

要从字符串中删除所有引号,请尝试:

field.Value = Regex.Replace(field.Value,@"[\""]","",RegexOptions.None);

试图在互联网上找到这个答案是多么痛苦!