Home / Programmazione / C# - Asp.NET / Estrarre il dominio da un URL in C#
Mattepuffo

Estrarre il dominio da un URL in C#

Estrarre il dominio da un URL in C#

Oggi vi propngo tre metodi per estrarre il dominio da un URL in C#.

A me personalmente piace più il primo, in quanto è anche il più semplice.

Inoltre non tutti e tre danno il medesimo risultato:

  • www.google.it
  • www.google.it
  • http://google.it

Questa la classe con i tre metodi:

    class EstrazioneDominio
    {
        public static string extractHost(string url)
        {
            if(!url.Contains("://"))
            {
                url = "http://" + url;
            }
            return new Uri(url).Host;
        }
        public static string extractModifiers(string url)
        {
            if (url.Contains(@"://"))
            {
                url = url.Split(new string[] { "://" }, 2, StringSplitOptions.None)[1];   
            }
            return url.Split('/')[0];
        }
        public static string extractRegex(string url)
        {
            return System.Text.RegularExpressions.Regex.Replace(url, @"^([a-zA-Z]+:VV)?([^V]+)V.*?$", "$2");
        }
    }

Il primo metodo usa semplicemente la proprietà Host della classe Uri.

Il secondo metodo elabora l'indirizzo dato in argomento, usando il meotodo Split.

Il terzo usa le espressioni regolari.

Ripeto, sono tutti e tre validi, ma io preferisco il primo in quanto Host è una proprietà creata appositamente.

Enjoy!