2015-10-01 1 views
5

私は今、私はそれらをウェブドメインのベース(ウィキペディアのURLと言う)でフィルタリングしたいというURLのセットを持っています。 現在、私がやっていることは、繰り返し設定されており、各URLに対して、私はそのウェブアドレスのキーワードを見つけています。ウェブドメインのベースでURLをフィルタリングする方法は?

if(ur.contains("wikipedia.org")){ 
    //do something 
} 

私の現在のアプローチより効率的な方法はありますか?

if("wikipedia.org".equals(getDomainName(ur))){ 
    //do something 
} 

public static String getDomainName(String url) throws URISyntaxException { 
    URI uri = new URI(url); 
    String domain = uri.getHost(); 
    return domain.startsWith("www.") ? domain.substring(4) : domain; 
} 
+0

このようにして何が結ばれていますか? URL:URL:www.somesite.com/index.html?id=wikipedia.org –

+1

@ RahulTripathiは効率的ではないようです私はそれを除外しようとしています。 – viartemev

+1

@viartemevはいあなたが正しい場合は、URLは時にはまた、文字列を含むに基づいて動作していないので、 –

答えて

2

あなたはこれを使用することができます)その後、.contains()が最良のアプローチです。

if(url.contains("wikipedia.org")){ 
    domain = wikipedia.org" 
} 
+1

あなたは何をしようとしていますか: domain.startsWith( "www。")? domain.substring(4):ドメイン; –

+1

@aniketsivaいつかgetHostはwww.somehost.orgの代わりにsomehost.orgを返します。そして、このコードはいつもsomehost.org – viartemev

+0

ベストを返します!とても助かりました、ありがとう –

0

あなたは、トップレベルドメインのみを取得したい場合は、(例えばsomeinfo.wikipedia.org) を完全なドメインを取得する必要がある場合Viartemevの答えは良いです(例えばwikipedia.org:

関連する問題