在C#中,如何捕获URL中的整数值,如:
/someBlah/a/3434/b/232/999.aspx
我需要从上面的url中获取999的值。url中必须包含/someBlah/
。所有其他值,如a/3434/b/232/
,可以是任何字符/数字。
我有“/”的转义吗?
发布于 2009-09-07 16:43:12
请尝试以下操作
var match = Regex.Match(url,"^http://.*someblah.*\/(\w+).aspx$");
if ( match.Success ) {
string name = match.Groups[1].Value;
}
您没有指定哪些名称可以出现在ASPX文件的前面。我采用了一种简单的方法,即使用匹配字母和数字的\w
正则表达式字符。您可以根据需要对其进行修改以包括其他项目。
发布于 2009-09-07 16:56:32
您可以有效地获得不带扩展名的文件名。
尽管您特别要求使用正则表达式,但除非您处于真正需要使用正则表达式的场景中,否则我建议您使用System.IO.Path.GetFileNameWithoutExtension:
Path.GetFileNameWithoutExtension(Context.Request.FilePath)
发布于 2009-09-07 16:47:36
^(?:.+/)*(?:.+)?/someBlah/(?:.+/)*(.+)\.aspx$
这有点详尽,但它可以处理这样的场景: /someBlah/不一定要在字符串的开头。
运算符表示一个非捕获组,您的RegEx版本可能支持也可能不支持。
https://stackoverflow.com/questions/1390145
复制相似问题