2016-07-30 10 views
0

用URLからyoutubeVideo IDを取得しますが、それはアンドロイド:コードの下にしようとしましたYouTubePlayer

1のように、すべてのケースを処理しません) "https://youtu.be/zuf8A0udHrs "

2)" https://www.youtube.com/watch?v=zuf8A0udHrs"

private boolean isValidUrl(String url) { 

    if (url == null) { 
     return false; 
    } 
    if (URLUtil.isValidUrl(url)) { 
     // Check host of url if youtube exists 
     Uri uri = Uri.parse(url); 
     if ("www.youtube.com".equals(uri.getHost())) { 
      return true; 
     } 
     // Other way You can check into url also like 
     //if (url.startsWith("https://www.youtube.com/")) { 
      //return true; 
     //} 
    } 
    // In other any case 
    return false; 
} 

答えて

0

私は正規表現を使って有効なリンクを確認することができると思います。

String pattern = "http(?:s?):\\/\\/(?:www\\.)?youtu(?:be\\.com\\/watch\\?v=|\\.be\\/)([\\w\\-\\_]*)(&(amp;)?‌​[\\w\\?‌​=]*)?"; 
     String link1 = "https://youtu.be/zuf8A0udHrs"; 
     String link2 = "https://www.youtube.com/watch?v=zuf8A0udHrs"; 

     if(link2.matches(pattern)) { 
      System.out.println("YES"); 
     } else { 
      System.out.println("NO"); 
     } 
関連する問題