[英]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.