我有以下网址:
http://vk.com/video#/video219171498_166164529
http://vk.com/video?gid=21095903#/video-21095903_165699050
http://vk.com/video#/video219171498_166164529
我需要获取信息' video219171498_166164529'从这些字符串。也许有一个代码可以采取'视频'之后的19个符号。对我的英语抱歉
答案 0 :(得分:2)
您实际上只能使用Split()
来获取值。
string _str = "http://vk.com/video#/video219171498_166164529";
var _arr = _str.Split("/");
string _value = _arr[_arr.length - 1];
答案 1 :(得分:1)
为了改善491243的答案,我会那样:
string _str = "http://vk.com/video#/video219171498_166164529";
string _arr = _str.Split("/").Last();
答案 2 :(得分:1)
我不确定你的问题的标题是否重要,但是如果你确实需要(?)使用正则表达式,你可以获得与其他人相同的结果。 C#使用System.Text.RegularExpressions,所以你可以做这样的事情来提取“video ...”字符串。
string pattern = "(video[\w-]+)";
string url = "http://blahblah/video-12341237293";
Match match = Regex.Match(url, pattern);
// Here you can test Match to check there was a match in the first place
// This will help with multiple urls that are dynamic rather than static like the above example
string result = match.Groups[1].Value;
在上面,结果将等于url中的匹配字符串。使用Match来检查首先是匹配将意味着您可以将其置于循环中并遍历List / Array等,而无需知道url值,或更改特定情况的模式。
无论如何,你可能不需要正则表达式,但是你做了,我希望以上有所帮助。
答案 3 :(得分:0)
string _str = "http://vk.com/video#/video219171498_166164529";
var index = _str.LastIndexOf("/");
var value = _str.SubString(index + 1);
请务必添加错误处理