提取数据
问题描述:
在C#中,我怎么能提取此字符串的信息:提取数据
http://www.example.com/images/this-is-the-url-1234-12-filename.jpg
用正则表达式,这样我就可以得到以下数据:
/1234/12/filename.jpg
以上只是URL模式的一个例子。下面是一些例子:
http://www.example1.com/images/this-is-something-else-5555-10-anotherfilename.jpg
应返回:
/5555/10/anotherfilename.jpg
任何帮助是极大的赞赏。谢谢。
答
根据所提供的两个示例的URL,可以提取与此图案所需的信息:
string pattern = @"-(\d+\-\d+\-[a-zA-Z]+\.[a-zA-Z]+)";
使用以下代码将分裂的网址为2个部分,其中所希望的字符串是在第二子字符串:
string input = "http://www.example.com/images/this-is-the-url-1234-12-filename.jpg";
string pattern = @"-(\d+\-\d+\-[a-zA-Z]+\.[a-zA-Z]+)";
string[] substrings = Regex.Split(input, pattern);
所以substrings[1]
将1234-12-filename.jpg
。那么你只需要用“/”替换“/”,比如这个例子:
var newString = "/" + substrings[1].Replace("-", "/")
你应该得到想要的结果。
注:这只会工作,如果你想改变所有的URL到底有以下模式:
“-number用户号码filename.extension”
而且这模式不会在URL的其他地方发生。
直接发布你的图片 – Aditya
@ADITYA我认为链接的目的不是图像,它们只是输入数据的例子 –