用string.replace()替换特定字符

时间:2013-06-06 15:46:58

标签: c# string replace backslash slash

我想将/的所有出现更换为\。我使用了这个片段:

_url =  _url.Replace("/",@"\");

但它会将/替换为\\im

为什么会这样?如何修改代码段以获得良好的结果

2 个答案:

答案 0 :(得分:2)

你的字符串很可能已包含一个反斜杠!

I suspect your string already actually only contains a single backslash, 
but you're looking at it in the debugger which is escaping it for you into
a form which would be valid as a regular string literal in C#.

引用了Jon Skeet:Replace "\\" with "\" in a string in C#

答案 1 :(得分:1)

我猜你试图验证调试器中的正确操作。 Visual Studio的调试器提示转义反斜杠字符,因此如果您在工具提示中看到\\,则该字符串实际上只包含1个反斜杠。单击调试器中工具提示末尾的放大镜图标,弹出一个包含未转义文本的对话框。

编辑:这也适用于手表窗口,包括最后放大镜的部分。