Как ссылки, например https://youtu.be/KYukvjnHxo и https://youtube.com/watch?v=KYukvjnHxo вытащить id видео и поместить его в переменную String?
Если просто парсить строку без явных регулярок:
List<String> urls = Arrays.asList("https://youtu.be/KYukvjnHxo", "https://youtube.com/watch?v=KYukvjnHxo");
for (String url : urls) {
String videoId = null;
if (url.contains("://youtu.be/")) {
videoId = url.split(".be/")[1];
} else if (url.contains("://youtube.com/watch?")) {
videoId = url.split("\\?v=")[1];
}
System.out.println(videoId);
}
Если с регулярками, то можно так:
Pattern pattern = Pattern.compile("https?://youtu\\.be/(\\w+)|https?://youtube\\.com/watch\\?v=(\\w+)");
for (String url : urls) {
String videoId = null;
Matcher m = pattern.matcher(url);
if (m.find()) {
videoId = m.group(1);
if (videoId == null) {
videoId = m.group(2);
}
}
System.out.println(videoId);
}
Результат:
KYukvjnHxo
KYukvjnHxo
Продвижение своими сайтами как стратегия роста и независимости