これは私がこれまでに持っているものです:
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 = @"/([^/]*)$";