我如何修剪youtube网址,以便它只返回视频ID,例如http://www.youtube.com/watch?v=VPqTW-9U9nU。我将如何返回VPqTW-9U9nU。这必须是几个网址输入。我想使用正则表达式,但我根本不理解它。所以,如果有人有正则表达式的解决方案,你可以在更多详细信息中解释它:)
答案 0 :(得分:13)
不进行任何字符串操作,您可以使用Uri
和ParseQueryString
Uri uri = new Uri("http://www.youtube.com/watch?v=VPqTW-9U9nU");
var s = HttpUtility.ParseQueryString(uri.Query).Get("v");
答案 1 :(得分:2)
在这种情况下不需要RegEx:
string url = "http://www.youtube.com/watch?v=VPqTW-9U9nU";
string videoId = url.Substring(url.IndexOf("?v=") + 3);
答案 2 :(得分:1)
为什么不坚持简单的事情?
string youTubeUrl = "http://www.youtube.com/watch?v=VPqTW-9U9nU";
string id = youTubeUrl.Replace("http://www.youtube.com/watch?v=", String.Empty);
正则表达式很方便,但有时会过度使用,并且当您在不需要它们的地方使用它们时,会使您的代码更难理解。
答案 3 :(得分:0)
尝试这样的事情:
string url = "http://www.youtube.com/watch?v=VPqTW-9U9nU";
string video_id = url.Substring(0,url.LastIndexOf("=')+1);
其他答案也是正确的。
答案 4 :(得分:0)
您也可以使用String.Split()
:
url.Split(new[] { '=' }, 2)[1]