0

我正在编写一个程序来播放来自互联网的视频。

为了让用户获得视频,他们必须在 EG https://www.youtube.com/watch?v=5xniR1GN69U中粘贴一个 URL,该 URL 有效,但这个https://www.youtube.com/watch?feature= c4-overview&list=UUOYWgypDktXdb-HfZnSMK6A&v=5xniR1GN69U dosnt

这是我当前的代码 在此处输入图像描述

我如何从 url 中获取 v 变量

4

3 回答 3

2

您的查询字符串看起来像"?v=5xniR1GN69U"第一次和"?feature=c4-overview&list=UUOYWgypDktXdb-HfZnSMK6A&v=5xniR1GN69U"第二次。您可以通过简单地调试和检查您的变量自己弄清楚这一点,因为它甚至没有到达 if 块中的代码......制作屏幕截图并不能帮助人们找出您的代码有什么问题。

您可能想使用正则表达式来解析 idRegex.Match(str, "v=(\w+)").Groups(1).Value

于 2013-10-27T18:04:26.413 回答
1

Just request the parameter v?

Request("v")

or

Request.Querystring("v")

EDIT

If in winforms. You can apply as suggested by @Markus

Try it like this

    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

You will also need to include

Imports System.Text.RegularExpressions
于 2013-10-27T18:16:54.070 回答
0

我过去曾使用过HttpUtility.ParseQueryString 来做类似的事情。不要忘记 youtube 还提供带有http://youtu.be/的 URL 的小版本???

于 2013-10-28T15:08:07.333 回答