2014-04-04 87 views
2

我是新的C#根域,檢查它是否在字符串

可以說我有一個字符串

string testurl = "http://www.mytestsite.com/hello"; 


if (test url == root domain) { 

// do something 
} 

我要檢查,如果該字符串「testurl」是根域即http://www.mytestsite.comhttp://mytestsite.com等。

謝謝。

+0

您可能打算使用double-equals ==進行比較。在基於C的語言中,single-equals =運算符用於賦值語句,而不是比較。這將是'如果(testurl == rootdomain)'。 –

回答

1

你可以嘗試這樣的:

string testurl = "http://www.mytestsite.com/hello" 

if (GetDomain.GetDomainFromUrl(testurl) == rootdomain) { 

// do something 
} 
0
string testurl = "http://www.mytestsite.com/hello"; 

string prefix = testurl.Split(new String[] { "//" })[0] + "//"; 
string url = testurl.Replace(prefix, ""); 
string root = prefix + url.Split("/")[0]; 

if (testurl == root) { 
    // do something 
} 
2

使用Uri類:

var testUrl = new Uri("http://www.mytestsite.com/hello"); 


if (testUrl.AbsolutePath== "/") 
{ 
    Console.WriteLine("At root"); 
} 
else 
{ 
    Console.WriteLine("Not at root"); 
} 

與可能需要的任何正常化問題很好的交易(如治療http://www.mytestsite.comhttp://www.mytestsite.com/的相同)

0

您也可以嘗試使用URI.HostName屬性

以下示例將服務器的主機名(www.contoso.com)寫入控制檯。

Uri baseUri = new Uri("http://www.contoso.com:8080/"); 
Uri myUri = new Uri(baseUri, "shownew.htm?date=today"); 

Console.WriteLine(myUri.Host); 

如果返回的主機名等於「http://mytestsite.com」,則表示完成。