using System.Text.RegularExpressions;
public static void Main()
TargetUrlDetails temp = GetVerticalAndDomain("www.amazon.co.uk");
Console.WriteLine("Vertical: " + temp.Vertical + ", Domain: " + temp.Domain + ", ProtocolPlusDomain: " + temp.ProtocolPlusDomain + ", UrlWithoutParameters: " + temp.UrlWithoutParameters);
public static TargetUrlDetails GetVerticalAndDomain(string url)
var urlbase = url.IndexOf('?') > -1 ? url.Substring(0, url.IndexOf('?')) : url;
var a = url.Split(new[] { '/', '&' }, StringSplitOptions.RemoveEmptyEntries);
(s = a[2].Split(new[] { '?', '=' }, StringSplitOptions.RemoveEmptyEntries)).Length == 0)
? new TargetUrlDetails(string.Empty, a[1], a[0] + "//" + a[1], urlbase)
: new TargetUrlDetails(string.Empty, string.Empty, string.Empty, urlbase);
return new TargetUrlDetails(
a.Length >= 3 ? s[0] : string.Empty,
a.Length >= 2 ? a[1] : string.Empty,
a.Length >= 2 ? a[0] + "//" + a[1] : url,
public class TargetUrlDetails
public TargetUrlDetails(string vertical, string domain, string protocolPlusDomain, string urlWithoutParameters)
ProtocolPlusDomain = protocolPlusDomain;
UrlWithoutParameters = urlWithoutParameters;
public string Vertical { get; private set; }
public string Domain { get; private set; }
public string ProtocolPlusDomain { get; private set; }
public string UrlWithoutParameters { get; private set; }
public override string ToString()
return UrlWithoutParameters;