c#转义字符串中的双引号

时间:2014-09-30 07:35:51

标签: c# string escaping double-quotes

我试图在我的字符串中逃避\",如下所示:

text.Replace("\\", "\\\\").Replace("\"", "\\\"");

但是文字的结果

arash "moeen"

结果为

arash \\\"moeen\\\"
谁能帮助我吗?提前谢谢。

6 个答案:

答案 0 :(得分:2)

只需使用@作为逐字字面字符串。

text.Replace(@"this", @"that");

示例:

text.Replace(@"\", @"\\").Replace(@"""", @"\""");

答案 1 :(得分:2)

您的任务代码是什么?

应该是

var text = @"arash ""moeen""";

答案 2 :(得分:2)

如果我理解正确,首先,text = arash "moeen"不是有效的常规字符串文字。我假设你的字符串像;

string s = "text = arash \"moeen\"";

打印为

text = arash "moeen" // I think this is your original string.

由于您arash \"moeen\",因此您只需将"替换为字符串中的\",就像;

string s = "text = arash \"moeen\"";
s = s.Replace("\"", "\\\"");

因此,您的结果将为arash \"moeen\"

更多信息:Escape Sequences

如果这是一个JSON字符串,我的答案将无效:-p

答案 3 :(得分:1)

string text = @"arash ""moeen""";
MessageBox.Show(text.Replace(@"\", @"\\").Replace(@"""", @"\"""));

答案 4 :(得分:0)

假设您有这样的字符串

string test = "He said to me, \"Hello World\" . How are you?";

在任何一种情况下,字符串都没有更改-其中有一个转义的“”。 这只是告诉C#字符是字符串的一部分而不是字符串终止符的一种方法。

答案 5 :(得分:-1)

当你希望arash \"moeen\" arash "moeen"text.Replace(", \");

时{{1}}