2012-03-28 6 views
3

WebBrowserのSubStringがtextBoxの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

第1に、 'pos2'を設定するときに' -4'を意味するとは思われません。第二に、あなたは同じ部分文字列操作を比較しているようですか?使用するTextBox値の例と、一致させる部分(テキスト値)を具体的に指定できますか? – musefan

+2

テキストの大文字と小文字も考慮してください。 – Khan

+0

-4が正しい(この例では)。 OPは部分文字列を抽出するときにgoogle.comを取得したいしかし、その名前は混乱しています。それは検索される部分文字列のlenです – Steve

答えて

5

を使用しています。

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

あるいは単に:

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

だけUriクラスが素晴らしいものであるstring.contains

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

あなただけジャスティンPihonyが提案されているようString.Containsを使用し、サブは、文字列内に存在することを知る必要がある場合。

文字列にがある場合は、String.IndexOf()を使用してください。文字列がまったく存在しない場合、このメソッドは-1を返します。

関連する問題