在C#String中替换“with \”

时间:2012-07-19 01:52:35

标签: c#

我需要获取一个最初从文本文件中读入的字符串,并在字符串中找到的任何和所有双引号前加一个反斜杠。我试过了

String myString = inputString.Replace("\"", "\\\"");

甚至

String myString = "";
foreach (Char Character in inputString)
    if (Character == '"')
        myString += "\\\"";
    else
        myString += Character;

但是,我仍然会收到与我收到的相同的字符串(双引号前面没有反斜杠)。

在我的示例中,inputString的一个值将在调试器中显示为“div id =”loader“”,我希望生成的myString为“div id = \”loader \“”,如调试器中所示

有没有人对如何达到我想要的结果有任何想法?

2 个答案:

答案 0 :(得分:2)

  

inputString的值将在调试器中显示为...

不要相信调试器。它尊重字符串中的转义序列。代码(或者至少你的一次尝试)可能完全按照预期行事。

如果您使用第一个样本(编辑后)并在可敬的文本编辑器中检查输出,它应该可以正常工作。

答案 1 :(得分:1)

您错误地使用了+=运算符。

试试这个:

String myString = inputString.Replace("\"", @"\""");