C# 如何删除路径的一部分并从某个部分开始

C# 如何删除路径的一部分并从某个部分开始,c#,C#,我有一个路径,如下所示,用户可以选择任何他们想要的路径,但我需要修剪路径到像这样的东西 完整路径=D:\steam\steamapps\common\Call of Duty Black Ops III\xanim\u export\ElfendleedTopFan5\u anims\pubg\m1911 我需要从哪里开始 elfenliedtopfan5\u anims\pubg\m1911 因为我写的程序已经有了 D:\steam\steamapps\common\Call of Duty

我有一个路径,如下所示,用户可以选择任何他们想要的路径,但我需要修剪路径到像这样的东西

完整路径=D:\steam\steamapps\common\Call of Duty Black Ops III\xanim\u export\ElfendleedTopFan5\u anims\pubg\m1911

我需要从哪里开始

elfenliedtopfan5\u anims\pubg\m1911

因为我写的程序已经有了 D:\steam\steamapps\common\Call of Duty Black Ops III\xanim\u包括出口。所以我只需要xanim_出口后的东西


如何实现这一点?

这将使用xanim\u导出\作为起点,为您提供子字符串

    var key = @"xanim_export\";
    var path = @"D:\steam\steamapps\common\Call of Duty Black Ops III\xanim_export\elfenliedtopfan5_anims\pubg\m1911";
    var keyIndex = path.IndexOf(key);
    var newPath = path.Substring(keyIndex+key.Length);
试试这个:

static void Main(string[] args)
{
    string full_path = @"D:\steam\steamapps\common\Call of Duty Black Ops III\xanim_export\elfenliedtopfan5_anims\pubg\m1911";

    var dir_1 = System.IO.Path.GetDirectoryName(full_path);
    var dir_2 = System.IO.Path.GetDirectoryName(dir_1);
    var common = System.IO.Path.GetDirectoryName(dir_2);

    var specific = full_path.Substring(common.Length+1);
    Console.WriteLine(specific);
    // "elfenliedtopfan5_anims\pubg\m1911"
}

查看IndexOf以确定位置,然后使用Substring。如果您发布,这将非常有帮助。请向我们展示您的尝试。D:\steam\steamapps\common\Call of Duty Black Ops III\xanim\u导出是否可以更改?如果不是,您可以使用Replace并将其替换为空字符串,但我相信第一部分是变量。删除最后一部分并重复。谢谢,这很好地标记为答案谢谢evreyone的回复: