如何转换
"String path = @"C:\Abc\Omg\Why\Me\\\\\\\\\\\\\\\\\\\\\";
到
String path = @"C:\Abc\Omg\Why\Me\"
。
我的方法是首先reverse
string
,然后删除所有 "\"
,直到我们第一次 {{1 }},再次char
。
如何在C#中执行此操作,是否有任何此类操作方法?
答案 0 :(得分:21)
您可以使用Path
静态类构建路径:
string path = Path.GetFullPath(@"C:\Abc\Omg\Why\Me\\\\\\\\\\\\\\\\\\\\\");
执行此操作后,变量path
将包含最小版本:
C:\Abc\Omg\Why\Me\
答案 1 :(得分:9)
您可以使用path.TrimEnd('\\')
。请查看String.TrimEnd
的文档。
如果你想要尾部斜杠,你可以轻松地添加它。
答案 2 :(得分:3)
var path = @"C:\Abc\Omg\Why\Me\\\\\\\\\\\\\\\\\\\\\";
path = path.TrimEnd('\\') + '\\';
另一种解决方案是
var path = @"C:\Abc\Omg\Why\Me\\\\\\\\\\\\\\\\\\\\\";
path = Path.GetFullPath(path);
答案 3 :(得分:0)
您还可以使用正则表达式删除多个斜杠,如下所示:
string path= @"C:\Abc\Omg\Why\Me\\\\\\\\\\\\\\\\\\\\\";
path = Regex.Replace(path, "\\\\{2,}", @"\");