我有一個完整路徑的文件名列表,我需要刪除文件名和部分文件路徑考慮我有一個過濾器列表。刪除部分完整的目錄名稱?
Path.GetDirectoryName(file)
做了部分工作,但我想知道是否有一種簡單的方法來過濾使用.Net 2.0刪除部分路徑的路徑。
例如:
,如果我有path + filename
等於C:\my documents\my folder\my other folder\filename.exe
和所有我需要的是什麼,是上述my folder\
意味着我只需要my other folder
從中提取。
UPDATE:
篩選器列表是由,
分開的文件夾名稱的文本框,所以我只是有一個像上面的例子就可以了部分名稱這裏的過濾器將my folder
電流基於Rob代碼的解決方案:
string relativeFolder = null;
string file = @"C:\foo\bar\magic\bar.txt";
string folder = Path.GetDirectoryName(file);
string[] paths = folder.Split(Path.DirectorySeparatorChar);
string[] filterArray = iFilter.Text.Split(',');
foreach (string filter in filterArray)
{
int startAfter = Array.IndexOf(paths, filter) + 1;
if (startAfter > 0)
{
relativeFolder = string.Join(Path.DirectorySeparatorChar.ToString(), paths, startAfter, paths.Length - startAfter);
break;
}
}
你提到的過濾器是預編譯的目錄數組或其他? – 2011-03-12 15:03:40
這是一個充滿文件夾名稱的文本框,用''隔開,忘了提及感謝評論。 – Prix 2011-03-12 15:14:58