2

所以我需要从字符串中删除转义的反斜杠(在我的例子中,路径就像“C:\Program Files (x86)\Microsoft Office\Office14\WINWORD.EXE\”)。

要替换我尝试了以下方法:

String openWith = "C:\\Program Files (x86)\\Microsoft Office\\Office14\\WINWORD.EXE";

string newString = openWith.Replace(@"\\", @"\");

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

openWith = Regex.Replace(openWith,"\\\\","\\");

但这些都不起作用!!谁能向我解释为什么会这样?

先感谢您!

4

2 回答 2

5

您的字符串不包含双反斜杠。

第一个反斜杠"C:\\"是由 C# 编译器解释的转义字符。然而,在运行时,该字符串仅包含单个反斜杠。您可以通过显示字符串的值来证明这一点:

String openWith = "C:\\Program Files (x86)\\Microsoft Office\\Office14\\WINWORD.EXE";
Console.WriteLine(openWith);

结果:

C:\Program Files (x86)\Microsoft Office\Office14\WINWORD.EXE

请注意,输出中只有一个反斜杠。

在线查看它:ideone

于 2012-08-28T20:16:43.010 回答
0

您不需要从您输入问题的路径中删除反斜杠。

带有双反斜杠的路径是 Windows 操作系统上有效\\IO 路径的唯一可能可视化

于 2012-08-28T20:17:16.237 回答