我有两种不同的路径:
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);
}
}
}
答案 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);