如何从字符串中获取特定值?

时间:2016-02-25 06:14:25

标签: android string split

我有一个youtube的网址为https://www.youtube.com/watch?v=8lLKmJJ68DM&list=PLjwdah_SEU7rDIP_xBDy513_QAkOMG_s_&index=11,我只想拍摄视频ID(8lLKmJJ68DM)我该怎么做?

2 个答案:

答案 0 :(得分:3)

使用Uri

Uri uri = Uri.parse(url_string);
String videoId = uri.getQueryParameter("v");

答案 1 :(得分:1)

在演示中,请参阅右下方窗格中的捕获组。但是,对于第二场比赛,并不完全确定这是一个正确的ID,因为它看起来与其他样本不同 - 如果需要可以调整。

在代码中,例如:

String pattern = "(?<=watch\\?v=|/videos/|embed\\/)[^#\\&\\?]*";

Pattern compiledPattern = Pattern.compile(pattern);
Matcher matcher = compiledPattern.matcher(url);

if(matcher.find()){
    return matcher.group();
} 

这个适用于:(您也可以实施安全检查youtubeid length = 11)

** http://www.youtube.com/embed/Woq5iX9XQhA?html5=1

http://www.youtube.com/watch?v=384IUU43bfQ

Woq5iX9XQhA

384IUU43bfQ **