我想剪掉 a 的一部分,path
但不知道怎么做。要获得path
,我使用以下代码:
String path = System.IO.Path.GetDirectoryName(fullyQualifiedName);
(路径 =“Y:\Test\Project\bin\Debug”)
现在我需要没有 "\bin\Debug"的第一部分。
如何将这部分从当前路径中删除?
我想剪掉 a 的一部分,path
但不知道怎么做。要获得path
,我使用以下代码:
String path = System.IO.Path.GetDirectoryName(fullyQualifiedName);
(路径 =“Y:\Test\Project\bin\Debug”)
现在我需要没有 "\bin\Debug"的第一部分。
如何将这部分从当前路径中删除?
如果您知道,您不仅需要“\bin\Debug”,还可以使用替换:
path = path.Replace("\bin\Debug", "");
或者
path = path.Remove(path.IndexOf("\bin\Debug"));
如果你知道,你不需要一切,第二次之后\
你可以使用这个:
path = path.Remove(path.LastIndexOfAny(new char[] { '\\' }, path.LastIndexOf('\\') - 1));
最后,你可以有Take
这么多部分,你想要多少这样的:
path = String.Join(@"\", path.Split('\\').Take(3));
或者Skip
这么多零件,你需要多少:
path = String.Join(@"\", path.Split('\\').Reverse().Skip(2).Reverse());
您可以使用Path
该类和该Directory.GetParent
方法的后续调用:
String dir = Path.GetDirectoryName(fullyQualifiedName);
string root = Directory.GetParent(dir).FullName;
您只需 3 行即可完成。
String path= @"Y:\\Test\\Project\\bin\\Debug";
String[] extract = Regex.Split(path,"bin"); //split it in bin
String main = extract[0].TrimEnd('\\'); //extract[0] is Y:\\Test\\Project\\ ,so exclude \\ here
Console.WriteLine("Main Path: "+main);//get main path
您可以像这样获取路径的父文件夹的路径:
path = Directory.GetParent(path);
在你的情况下,你必须做两次。