1

SharePoint 2010にハイパーリンクフィールド(別名列)があります。

それが呼ばれていると言いSalesReportUrlます。URLは次のようになります。

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

ハイパーリンクフィールドは、2つのフィールド(リンクと説明)に値を格納します。

URLから抜け出したい場合、正規表現はどうなりOctober2012Libraryますか?

私はこれを試しましたが、それは間違いなく機能していません:

@"<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:// [^ /] + / [^ /] + /([^ /] +)/

matchのgroup[1]は必要な値です。URLの3番目の部分(/で除算)を取得します。必要に応じて、他の部分、つまりフォームが続くことを確認し、最後に追加します。

于 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 に答える