簡體   English   中英

試圖用Regex獲取URL的最后一部分

[英]Trying to get the last part of a URL with Regex

這是我到目前為止:

string s = @"http://www.s3.locabal.com/whatever/bucket/folder/guid";
string p = @".*//(.*)";
var m = Regex.Match(s, p);

但是,這將返回"www.s3.locabal.com/whatever/bucket/folder/guid"

使用Uri類來解析URL:

new Uri(s).Segments.Last()

雖然Uri.Segments可能是最好的方法,但這里有一些選擇:

string s = "http://www.s3.locabal.com/whatever/bucket/folder/guid";

// Uri
new Uri(s).Segments.Last();

// string
s.Substring(s.LastIndexOf("/") + 1);

// RegExp
Regex.Match(s, ".*/([^/]+*)$").Groups[1];

你可以使用這個表達式:

"[^/]*$"

這將選擇沒有前面斜杠的值。

您可以將p更改為:

string p = @"/([^/]*)$";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM