5

これは私がこれまでに持っているものです:

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"

4

4 に答える 4

16

クラスを使用してUriURL を解析します。

new Uri(s).Segments.Last()
于 2012-11-13T22:28:49.067 に答える
13

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];
于 2012-11-13T22:37:58.530 に答える
1

次の表現を使用できます。

"[^/]*$"

これにより、前のスラッシュのない値が選択されます。

于 2012-11-13T22:49:10.157 に答える
0

p を次のように変更できます。

string p = @"/([^/]*)$";
于 2012-11-13T22:39:47.837 に答える