首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于从urls获取文件名的正则表达式

用于从urls获取文件名的正则表达式
EN

Stack Overflow用户
提问于 2010-06-13 11:38:23
回答 4查看 1.7K关注 0票数 0

如果我有一个包含多个urls的文本框

rapidshare.com/files/379028801/foo.bar.HDTV.XviD-LOL.avi

rapidshare.com/files/379182651/foo.bar.720p.HDTV.X264-DIMENSION.mkv

rapidshare.com/files/379180004/foo.bar.720p.HDTV.X264-DIMENSION.part1.rar rapidshare.com/files/379180444/foo.bar.720p.HDTV.X264-DIMENSION.part2.rar rapidshare.com/files/379181251/foo.bar.720p.HDTV.X264-DIMENSION.part3.rar rapidshare.com/files/379181743/foo.bar.720p.HDTV.X264-DIMENSION.part4.rar

我需要一个文件名及其urls

textbox2.text =

foo.bar.HDTV.XviD-LOL.avi

从这里开始

rapidshare.com/files/379028801/foo.bar.HDTV.XviD-LOL.avi

foo.bar.720p.HDTV.X264-DIMENSION.part1.rar

从这里开始

rapidshare.com/files/379180004/foo.bar.720p.HDTV.X264-DIMENSION.part1.rar

诸若此类

谢谢:)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-06-13 11:58:59

我可以使用这个正则表达式来获取文件名,

代码语言:javascript
复制
rapidshare.com/files/[0-9]*/(?<name>.*)$

C#代码看起来像这样,

代码语言:javascript
复制
                string text= textbox1.Text;
                Regex regex = new Regex(@"rapidshare.com/files/[0-9]*/(?<name>.*)$");
                MatchCollection matches = regex.Matches(text);
                if (matches.Count > 0)
                {
                    string fileName = (from Match match in matches
                                       where match.Success
                                       select match.Groups["name"].Value.Trim());
                }
票数 1
EN

Stack Overflow用户

发布于 2010-06-16 15:06:53

那么,你就不能得到最后一个/后面的字符串吗?

只要得到以"LastIndexOf("/") + 1“开头的子字符串,就可以得到它,跳过所有的正则表达式。这是一个单行解决方案,而且速度更快!

大概是这样的:

String文件名= ulr.Substring(url.LastIndexOf("/") + 1);

干杯,

vloo

票数 2
EN

Stack Overflow用户

发布于 2010-06-13 11:53:52

像这样的东西应该就行了

代码语言:javascript
复制
String flnam = Regex.Match("rapidshare.com/files/379028801/Fringe.S02E19.HDTV.XviD-LOL.avi",
                @".*\/([^/]*)$").Groups[1].Value.ToString();
Console.WriteLine(flnam);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3030980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档