我正在编写一个程序来播放互联网上的视频。
让用户获取他们必须在E.G.中粘贴网址的视频https://www.youtube.com/watch?v=5xniR1GN69U该网址有效,但这个https://www.youtube.com/watch?feature=c4-overview&list=UUOYWgypDktXdb-HfZnSMK6A&v=5xniR1GN69U dosnt
这是我的代码
如何从url
获取v varibale答案 0 :(得分:2)
您的查询字符串第一次看起来像"?v=5xniR1GN69U"
,第二次看起来像"?feature=c4-overview&list=UUOYWgypDktXdb-HfZnSMK6A&v=5xniR1GN69U"
。您可以通过简单地调试和检查变量来自己解决这个问题,因为它甚至无法访问if块中的代码...制作屏幕截图无法帮助人们找出代码出了什么问题。< / p>
您可能希望使用正则表达式来解析标识Regex.Match(str, "v=(\w+)").Groups(1).Value
答案 1 :(得分:1)
只需要参数v?
Request("v")
或
Request.Querystring("v")
修改
如果在winforms中。您可以按照@Markus
的建议申请尝试这样
Dim querystring As String = url.Query
Dim myMatches As MatchCollection
Dim MyRegEx As New Regex("v=+(\w+)")
myMatches = MyRegEx.Matches(querystring)
For Each Row In myMatches
AxShockFlashMovie1.Movie = "https://www.youtube.com/v/" & Row.ToString() & ""
Next
您还需要包含
Imports System.Text.RegularExpressions
答案 2 :(得分:0)
我过去曾使用过HttpUtility.ParseQueryString来做类似的事情。不要忘记youtube还提供了http://youtu.be/ ???
的小版本网址