asp.net C#中的筛选字符串

本文关键字:筛选 字符串 net asp | 更新日期: 2023-09-27 18:21:49

我是asp.net c#开发的新手,我只需要从字符串"/test1/Pages/Request/test.aspx?id=-1"中获取"test.aspx"部分。如果有人知道更好的方法,请帮助我,我检查了一些正则表达式方法,但仍然没有正确的解决方案。

感谢

asp.net C#中的筛选字符串

查看Uri.AbsolutePath

所以可以做

Path.GetFileName(Request.Url.AbsolutePath)
string str = "/test1/Pages/Request/test.aspx?id=-1";
string page = str.Substring(str.LastIndexOf('/')+1, str.IndexOf('?')-str.LastIndexOf('/')-1);
([a-zA-Z.]+)(?='?)

你可以用这个。抓住第一组。请参阅演示。

http://regex101.com/r/jT3pG3/2

假设您的页面都是.aspx:
(?<=/)''w+.aspx(?=''?)

在C#中使用:
@"(?<=/)'w+.aspx(?='?)"

---编辑---
如果要捕获更多字符,可以修改下面表达式的粗体部分:
(?<=/)[''w''.]+.aspx(?=''?)

第二个正则表达式还将匹配.aspx之前部分中的点。