为什么这种方法不起作用?
Regex.Replace(Regex.Replace("c:\\test", "$", "\\"), "\\\\$", "\\") //expected results
Regex.Replace(Regex.Replace("c:\\test\\", "$", "\\"), "\\\\$", "\\") //not expected results
我认为它会在行尾添加一个反斜杠然后取出一个双反斜杠,如果它在那里。正则表达式的“$”,“\”部分似乎有效,但不是“\\ $”,“\”部分。
-Eric
答案 0 :(得分:1)
使用正则表达式执行此任务是过度的。正则表达式最适合匹配模式,在这种情况下,您只是匹配单个字符。是的,这是一种模式,但对于像这样的简单操作,使用直接字符比较会更有效率
string EnsureBackSlash(string path) {
if (String.IsNullOrEmpty(path) || path[path.Length - 1] != '\\') {
return path + "\";
}
return path;
}
答案 1 :(得分:0)
我想你会希望在某些时候连接一些文件名或子目录名。
在那种情况下,为什么要用斜线来打扰?
查看Path.Combine()