2016-06-13 11 views
-2

私はチャット機能を使用していますが、私の会社はURLを含むかどうかチャットのコンテンツを検出するように頼んだのですか?それから私はURLを強調表示して、URLのWebサイトにジャンプすることができます!あなたは私を助けることができますか?どうもありがとうございました。URLを含む文字列を検出する方法はありますか?

+0

regex public static final String URL_REGEX = "^((https?| ftp):// |(www | ftp)\\。)?[a-z0-9-] +(\\。[ a-z0-9 - ] +)+([/?]。*)?$ "; ' –

+0

次の回答を確認してください。http://stackoverflow.com/questions/6910703/android-active-link-of-url -in- textview –

答えて

2
あなたがあなた自身の正規表現を使用するか、単にこのような android.Text.util.Linkifyクラス使用でき

:あなたはそれが自動的に電話番号、電子メールなどをチェックしたい場合は

TextView textContent; 
String content; 
textContent.setText(content); 
Linkify.addLinks(textContent, Linkify.WEB_URLS); 

を。Linkify.ALLを2番目のパラメーターに使用できます。

+0

ありがとうございました。あなたの方法は、Androidシステムの自動検出です。特定の検出方法を指摘できますか?または、Androidシステムがどのように検出されたか。私は言語が異なる場合でもIOS.Ivenを使用していますが、メソッドのプロセスは確かに似ていると思います。 – flynn

+0

ああ、私はあなたがアンドロイドタグのためアンドロイドにいると思う。これを別のプラットフォームで実装する場合は、独自のURL正規表現を実装するか、Android上でandroid.Text.util.LinkifyクラスでURLマッチャーを実行する方法を確認するだけです。 – ikhsan

1

正規表現を使用すると、文字列にurlが含まれているかどうかを確認できます。この次のコードを使用してください。

public static final String URL_REGEX = "^((https?|ftp)://|(www|ftp)\\.)?[a-z0-9-]+(\\.[a-z0-9-]+)+([/?].*)?$"; 

Pattern pattern = Pattern.compile(URL_REGEX); 
Matcher matcher = pattern.matcher("google.com");//replace with string to compare 
if(matcher.find()) { 
    Log.i("String contains URL"); 
} 
+0

あなたの答えをありがとう。しかし、あなたの答えは特定のWebサイトでしか検出できず、すべてのURLを含む文字列を検出することはできません。そして、文字列の位置と長さを見つけることができず、クリックするとマークされません。 – flynn

関連する問題