Объединить 2 URL, имеющих общую часть - PullRequest
0 голосов
/ 25 мая 2019

У меня есть 2 URL:

1. "C:/inetpub/wwwroot/XYZ/"
2. "/XYZ/Media/Default"

Я хочу объединить их обоих, чтобы получить "C:/inetpub/wwwroot/XYZ/Media/Default"

Как мне это сделать?Обратите внимание, что оба URL имеют тип string.

Ответы [ 2 ]

1 голос
/ 26 мая 2019

Вы можете разделить два URL-адреса на основе разделителя "/", затем объединить два списка без дубликатов следующим образом:

using System;
using System.Linq;

public class Program
{
    public static void Main()
    {
        var url1 = "C:/inetpub/wwwroot/XYZ/";
        var url2 = "/XYZ/Media/Default";
        var f = url1.Split(new[]{'/'},StringSplitOptions.RemoveEmptyEntries);
        var s = url2.Split(new[]{'/'},StringSplitOptions.RemoveEmptyEntries);
        var fullurl = string.Join("/", f.Concat(s).Distinct());
        Console.WriteLine(fullurl);
    }
}

output:

C:/inetpub/wwwroot/XYZ/Media/Default

, с которым будет работать это решениевсе случаи, даже если пересечение более одного dir

1 голос
/ 25 мая 2019

Если они всегда имеют одинаковую форму, вы можете сделать как

string url = string.Concat(url1.Trim(new[] {'/'}), url2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...