[英]How to cut out a part of a path?
我想切出path
的一部分,但不知道如何。 要獲取path
,我使用以下代碼:
String path = System.IO.Path.GetDirectoryName(fullyQualifiedName);
(path =“Y:\\ Test \\ Project \\ bin \\ Debug”)
現在我需要沒有 “\\ bin \\ Debug”的第一部分。
如何從當前路徑中刪除此部分?
如果你知道,你不需要“\\ 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());
您可以使用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);
在你的情況下,你必須做兩次。
path=Y:\Test\Project\bin\Debug
ans = String.Join(@"\", path.Split('\\').Skip(3));
答案是: \\bin\\Debug
它提供沒有根目錄的路徑或刪除第一個目錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.