我想删除path
的一部分但不知道如何。
要获得path
,我使用以下代码:
String path = System.IO.Path.GetDirectoryName(fullyQualifiedName);
(path =“Y:\ Test \ Project \ bin \ Debug”)
现在我需要第一部分没有 “\ bin \ Debug”。
如何从当前路径中删除此部分?
答案 0 :(得分:14)
如果您知道,您不需要“\ bin \ Debug”,则可以使用replace:
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());
答案 1 :(得分:7)
您可以使用Path
类以及Directory.GetParent
方法的后续调用:
String dir = Path.GetDirectoryName(fullyQualifiedName);
string root = Directory.GetParent(dir).FullName;
答案 2 :(得分:2)
你只能在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
答案 3 :(得分:1)
您可以像这样获取路径的父文件夹的路径:
path = Directory.GetParent(path);
在你的情况下,你必须做两次。
答案 4 :(得分:-1)
path=Y:\Test\Project\bin\Debug
ans = String.Join(@"\", path.Split('\\').Skip(3));
答案是:\bin\Debug
它提供了没有根目录的路径或删除了第一个目录。