Skip to main content
 首页 » 编程设计

c#之从 URL 链接获取名称的正则表达式

2024年02月20日35grandyang

我在 SharePoint 2010 中有一个超链接字段(又名列)。

假设它叫做 SalesReportUrl。网址看起来像:

http://portal.cab.com/SalessiteCollection/October2012Library/Forms/customview.aspx 

超链接字段在两个字段(链接和描述)中存储值。

如果我想从 Url 中获取 October2012Library,RegEx 应该是什么?

我试过了,但绝对行不通:

@"<a[\s]+[^>]*?href[\s]?=[\s\"\']+(.*?)[\"\']+.*?>([^<]+|.*?)?<\/a>"; 

我也试过:

^(.*?/)?Forms/$  

但没有运气。

我认为 Sharepoint 存储超链接是这样的:

http://portal.cab.com/SalessiteCollection/October2012Library/Forms/customview.aspx, some description 

看起来这有一个解决方案。但是 substring get the list or library name 的语法是什么? https://sharepoint.stackexchange.com/questions/40712/get-list-title-in-sharepoint-designer-workflow

请您参考如下方法:

这个怎么样(正如 Daniel 所建议的):

string url = @"http://portal.cab.com/SalessiteCollection/October2012Library/Forms/customview.aspx"; 
Uri uri = new Uri(url); 
if(uri.Segments.Length > 2)) 
    Console.WriteLine(uri.Segments[2]); // will output "October2012Library/" 

如果你想摆脱“/”,你可以添加 .Replace("/", string.Empty)

Console.WriteLine(uri.Segments[2].Replace("/", string.Empty));