获取特定字符串的正则表达式模式

时间:2014-02-11 22:04:34

标签: c# regex string

我有这样的链接:

  

http://distilleryimage5.s3.amazonaws.com/21b18be091fe11e39a0512fb41973d49_8.jpg

我希望在最后一个“/”之后得到每一个。 例如,从上面的链接我想得到:21b18be091fe11e39a0512fb41973d49_8.jpg

我无法使用SubString,因为链接可以像以下一样开始:> http://distilleryimage25.s10.amazonaws.com 比我的不同长度。

4 个答案:

答案 0 :(得分:2)

var url = "http://distilleryimage5.s3.amazonaws.com/21b18be091fe11e39a0512fb41973d49_8.jpg";
var name = Path.GetFileName(url);

答案 1 :(得分:1)

无需正则表达式。您可以使用LastIndexOfSubstring执行此操作:

var url = "http://distilleryimage5.s3.amazonaws.com/21b18be091fe11e39a0512fb41973d49_8.jpg";
string result = url.Substring(url.LastIndexOf("/") + 1);

答案 2 :(得分:0)

    myString.Substring(myString.LastIndexOf('/')+1)

显然我会在之前检查myString.LastIndexOf('/')== - 1。

答案 3 :(得分:0)

您不需要正则表达式,只需使用"String.LastIndexOf(char c)"

即可
int lastIndexOf = url.LastIndexOf('/');
//The zero-based index position of value if that character is found, or -1 if it is not.
string result =  url.Substring( lastIndexOf + 1 );