从Uri.Segment.Last()中删除结束斜杠?

时间:2017-12-16 16:26:17

标签: c# .net uri

在排除可选的结束斜杠时获取System.Uri的最后一段的最安全方法是什么?例如,我有这些网址:

http://example.com/test/12345
http://example.com/test/12345/

我希望得到" 12345"但是,从最后一段开始,调用Segments.Last()将返回不同的字符串。在第一种情况下,我得到" 12345"但在第二种情况下,我得到" 12345 /"。

这就是我所拥有的,但看起来并不干净,我担心我会因为没有考虑到一些奇怪的边缘情况而违反了URI规范:

public static string Test(Uri link)
{
    return link.Segments.Last().Replace("/", "");
}

编辑:绝对荒谬的是,这被标记为关闭

1 个答案:

答案 0 :(得分:6)

您只需使用TrimEnd()

即可
public static string Test(Uri link)
{
    return link.Segments.Last().TrimEnd('/');
}