如何组合两个不同的路径

时间:2016-10-24 12:45:27

标签: c# path

我有两种不同的路径:

C:\Project\v4.0\Tool\Custom\CustomCompanyNames\Template\file\file.xml C:\Destination\New\Place\Bin\Debug\output

我需要一种方法来从两个不同的路径获取值

预期路径:

C:\Destination\New\Place\Bin\Debug\output\CustomCompanyNames\file\file.xml

我该如何解决?

  • 自定义是修复文件夹
  • 海关后的所有目录都有不同的名称

我的解决方案编程错误:

  • 自定义是第一条路径
  • 目标第二条路径

      private void test()
      {
        string result = destination;
    
        string[] custom = customs.Split('\\');
    
        foreach (var s in custom)
        {
    
            if(s.Contains("custom") || result.Contains("custom"))
            {
                if(s.Contains("templates")) break;
                result = Path.Combine(result, s);
            }
        }
     }
    

1 个答案:

答案 0 :(得分:1)

而不是Split路径使用IndexOf来查找Custom部分,然后找到Substring

string path1 = @"C:\Project\v4.0\Tool\Custom\CustomCompanyNames\Template\file\file.xml";
string path2 = @"C:\Destination\New\Place\Bin\Debug\output";

string splitter = @"Custom\";
string desiredSection = path1.Substring(path1.IndexOf(splitter) + splitter.Length);

string output = Path.Combine(path2, desiredSection);