繁体   English   中英

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

[英]Double quote string replace in C#

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

当前:

"John K "GEN" Greg"

目标:

 "John K \"GEN\" Greg"

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

s = s.Replace(""","\"");

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

任何帮助,将不胜感激。

谢谢

s = s.Replace("\"", "\\\"");

要么

s = s.Replace(@"""", @"\""");

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

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

你应该使用双反斜杠:

s = s.Replace("\"", "\\\"");

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

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

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

string MailFrom ="aaa@my.web.pk;\"PROMMS\" ccc@my.web.pk;";

string NewMailFrom = Regex.Replace(MailFrom, "\"[^\"]*\"", string.Empty);


Results

aaa@my.web.pk;ccc@my.web.pk;

s = s.Replace("\\"","\\\\\\"");

你逃脱了什么? 如果要将其插入到DB中,请考虑使用预准备语句 如果您要在HTML输出中使用它,请考虑使用一些模板引擎代替您自己。

尝试: var result = yourString.Replace("\\"", "\\\\\\"");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM