Fey*_*ity 2 c# regex replace filepath backslash
所以我需要从字符串中删除转义的反斜杠(在我的例子中,路径就像"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,"\\\\","\\");
Run Code Online (Sandbox Code Playgroud)
但这些都不起作用!! 有人能够向我解释为什么会这样吗?
先感谢您!
您的字符串不包含加倍的反斜杠.
第一个反斜杠"C:\\"是一个转义字符,由C#编译器解释.但是在运行时,字符串只包含单个反斜杠.您可以通过显示字符串的值来证明这一点:
String openWith = "C:\\Program Files (x86)\\Microsoft Office\\Office14\\WINWORD.EXE";
Console.WriteLine(openWith);
Run Code Online (Sandbox Code Playgroud)
结果:
C:\Program Files (x86)\Microsoft Office\Office14\WINWORD.EXE
请注意,输出中只有一个反斜杠.
看到它在线工作:ideone