在 .NET(VB 或 C#)中,有谁知道从文件路径字符串中删除“head”目录的简单方法,这意味着如果我的路径看起来像这样:Directory1/Directory2/Directory3
我想取回 Directory2/Directory3
。我知道有一些方法可以做到这一点,比如将它拆分成一个数组,然后从第二个元素开始将它全部连接起来,我只是觉得,这是一种非常低效的方法,我想知道是否有一种更好的方法。
最佳答案
这取决于您要查找的内容。如果你知道事情的形式是 dir1/dir2/dir3/dir4...
,那么你可以只查找第一个 /
并获取之后的所有内容:
string dir = "dir1/dir2/dir3";
var pos = dir.IndexOf('/');
if (pos != -1)
{
result = dir.Substring(pos+1);
}
如果您还可以接受格式为 c:\dir\dir\file.ext
或 \\server\dir\dir\file.ext
的完整路径名,那么您可能需要确保首先将任何相对路径转换为完整路径。然后使用 System.IO.Path
类中的方法提取驱动器或服务器名称,然后再使用类似上面的 IndexOf
技巧。
关于c# - 从文件路径中删除 'head' 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14839699/