2012-03-28 80 views
3

我想做的東西,將啓用所有控件,如果WebBrowser中的SubString匹配文本框中的SubString,如果它這樣做將啓用所有控件,但我不能似乎得到它的工作。這是我現在的代碼。如何檢查一個url是否有子字符串

 string str = "www.google.com"; 
     int pos = str.IndexOf(".") + 1; 
     int pos2 = str.LastIndexOf(".") - 4; 
     string str2 = str.Substring(pos, pos2); 
     if (webBrowser1.Url.AbsoluteUri.Substring(pos, pos2) == textBox1.Text.Substring(pos, pos2)) 
     { 
      foreach (Control c in Controls) 
      { 
       c.Enabled = true; 
      } 
     } 

任何和所有幫助將不勝感激。

+0

首先我不認爲你在設置'pos2'時意味着有'-4'。其次,你似乎在比較相同的子字符串操作?你可以提供你將使用的TextBox值的例子,並且可以指定你想要匹配的部分(文本值) – musefan 2012-03-28 14:59:22

+2

請確保你考慮了文本的情況。 – Khan 2012-03-28 15:00:02

+0

-4是正確的(給出的例子)。 OP在提取子字符串時想要獲取google.com。但是名字很混亂。這是要檢索的子字符串的len – Steve 2012-03-28 15:01:39

回答

5

Uri類是一件美妙的事情。

Uri google = new Uri("http://www.google.com/"); 
if (webBrowser.Url.Host == google.Host){ 
} 

甚至乾脆:

if (webBrower.Url.Host.ToLower().Contains("google")) { 
} 
3

只需使用string.contains

if(textBox1.Text.ToLower().Contains(str.ToLower())) 
... 
0

如果你只需要知道的子字符串中存在,則使用String.Contains賈斯汀Pihony建議。

如果您需要知道其中在字符串中存在,請使用String.IndexOf()。如果字符串根本不存在,則此方法將返回-1。

相關問題