【发布时间】:2013-10-26 04:19:55
【问题描述】:
当我通过 C# 接收输入时,它会转义 \。当我尝试解析字符串时,它会导致错误,因为它在字符串中使用\\r 而不是\r。有什么方法可以防止它转义 \ 或者可能将 \\ 变成字符串中的 \ 。我试过了:
protected string UnEscape(string s)
{
if (s == "")
return " ";
return s.Replace(@"\\", @"\");
}
没有运气。所以还有其他建议。
编辑:
我不够具体,因为你们中的一些人似乎对我想要实现的目标感到困惑。在调试中,我在字符串中读取"\\t",但我想要"\t",不是因为我想输出\t,而是因为我想输出一个[tab]。使用上面的代码,我试图重新创建已经通过 Regex.Unescape(string) 完成的东西。
【问题讨论】:
-
错误说明了什么?
-
这可能是您接受输入的问题。您如何接受输入?
-
你是怎么看字符串值的?
-
使用文本框并且没有错误它不会用 \ 替换 \\ 它只是扔回 \\t。
-
Replace method c# not working as expected 的可能重复项 - 完全相同,除非另有证明 - 在调试器中查看字符串将显示特殊字符已转义。