我從URL中提取域如下:如何從域名獲取網站名稱?
var uri = new Uri("Http://www.google.com");
var host = uri.Host;
//host ="www.google.com"
但我想只有在主機google.com,
host = "google.com"
我從URL中提取域如下:如何從域名獲取網站名稱?
var uri = new Uri("Http://www.google.com");
var host = uri.Host;
//host ="www.google.com"
但我想只有在主機google.com,
host = "google.com"
如果host
開始"www."
,你可以用一個空字符串替換"www."
使用String.Replace Method像這樣:
var uri = new Uri("Http://www.google.com");
var host = uri.Host.ToLower();
if (host.StartsWith("www."))
{
host = host.Replace("www.", "");
}
鑑於接受的答案我猜這個問題不知道如何操縱字符串,而不是如何處理uris ......但是對於任何最終在這裏的人:
Uri類沒有這個屬性,所以你將不得不自己解析它。
大概你不知道子域是在什麼時間之前,所以一個簡單的替換可能是不可能的。
這不是微不足道的,因爲TLD如此多變(http://en.wikipedia.org/wiki/List_of_Internet_top-level_domains),並且可能存在多個網址部分(例如http://pre.subdomain.domain.co.uk)。
你將不得不決定你想要得到什麼以及你想要解決方案有多複雜。
簡單 - 做一個字符串替換,請參閱ekad的答案
中 - 正則表達式,工程的大部分時間,看到Strip protocol and subdomain from a URL
或複雜的 - 是指後綴的列表,以便弄清楚什麼是子域和什麼是域,例如 Get the subdomain from a URL
你可以手動做 – andy
但是,URL的子域是不是「www」。你想保留還是丟棄它?例如,「espn.go.com」。 – psubsee2003