Android:从 URL 获取 YouTube 播放器的 YouTube 视频 ID
Android: Get youtubeVideo Id from URL for 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;
}
我认为您可以使用正则表达式来检查有效的 link。
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");
}
尝试了下面的代码,但它不会处理像
这样的所有情况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;
}
我认为您可以使用正则表达式来检查有效的 link。
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");
}