1

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

说它叫SalesReportUrl. 网址如下所示:

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

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

如果我想October2012Library退出 URL,RegEx 会是什么?

我试过这个,但它肯定不工作:

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

我也试过:

^(.*?/)?Forms/$ 

但没有运气。

我认为sharepoint像这样存储超链接:

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

看起来这有一个解决方案。但是获取列表或库名称的语法子字符串是什么?https://sharepoint.stackexchange.com/questions/40712/get-list-title-in-sharepoint-designer-workflow

4

4 回答 4

5

这个怎么样(正如丹尼尔建议的那样):

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));
于 2012-10-08T15:12:18.567 回答
0

尝试使用这个new RegEx("SalessiteCollection/(.+?)/Forms").match(<urlString>).groups[1].value

虽然这是一个粗略的答案,但您可能需要进行一些更正,但我希望您能理解我要解释的内容。

于 2012-10-08T15:10:25.080 回答
0

http://[^/]+/[^/]+/([^/]+)/

匹配的 group[1] 是您需要的值。它在 url 中获得第三部分(除以 /)。如果您需要确保它后面跟着其他部分,即表格,请将其添加到末尾。

于 2012-10-08T15:15:12.897 回答
-1

也许这个?

http:\/\/([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}\/[a-zA-Z]*\/([a-zA-Z0-9]*)\/

http://rubular.com/r/LuuuORPRXt

于 2012-10-08T15:09:00.740 回答