从URL中剥离协议和子域

时间:2013-09-05 19:06:00

标签: c# url

我使用以下代码从网址中删除http://www.dev.

Uri uri = new Uri(this.Referrer);
    if (uri != null )
        return uri.GetLeftPart(UriPartial.Authority).Replace("http://dev.", "").Replace("http://www.", "").Replace("http://", "");
    else
        return null;

我不喜欢我依赖于.Replace()功能。我有一段时间的错误,直到我意识到this.Referrer没有子域名。

有更优雅的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用这样的正则表达式:

http:\/\/(.*?)[.?]|http:\/\/

而不是执行多次替换。这将捕获您遇到的任何其他子域。我不知道你能做到这一点的另一种方式。

实际上并没有那么短,但我想让它保持可读性。