首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何剥去http://和www。从输入的域名中使用c#

问如何剥去http://和www。从输入的域名中使用c#
EN

Stack Overflow用户
提问于 2012-12-20 09:44:07
回答 5查看 4.4K关注 0票数 3

在我正在开发的应用程序中,我们允许用户输入域名列表,我们期望用户按以下格式输入域名

但是,当将此域名存储回数据库时,我们希望仅以以下格式存储域名

格式: stackoverflow.com

所以想知道是否有现成的帮手,我可以用来完成这项工作,或任何建议,以一种有效的方式这样做。

我试过什么?

这就是我想出来的,

代码语言:javascript
复制
public static string CleanDomainName(string domain)
{
    domain = domain.Trim();
    if (domain.Split('.').Count() > 2)
    {
        domain = domain.Split('.')[1] + "." + domain.Split('.')[2];
    }
    return domain;
}

请帮帮我。

EN

回答 5

Stack Overflow用户

发布于 2012-12-20 10:11:51

使用Regex替换字符串开头的表达式:

代码语言:javascript
复制
Regex.Replace(input, @"^(?:http(?:s)?://)?(?:www(?:[0-9]+)?\.)?", string.Empty, RegexOptions.IgnoreCase);

这将取代:

  • 开头的"http://“”(或“https://"”)后面跟着
  • 最终的“www”(也包括以下的ie: www8或www23)
票数 6
EN

Stack Overflow用户

发布于 2012-12-20 09:48:40

使用乌里类。

代码语言:javascript
复制
string url = "http://www.testsite.com/path/file.html";
Uri uri = new Uri(url);

有不同的属性可以检索url的不同部分。

使用uri.Host获取url的www.testsite.com部分。一个小的字符串操作可以删除www.;

代码语言:javascript
复制
string domain = uri.Host;
if (domain.StartsWith("www."))
{
    domain = domain.Substring(4);
}
票数 2
EN

Stack Overflow用户

发布于 2012-12-20 09:48:22

使用System.Uri类。

代码语言:javascript
复制
 System.Uri uri = new Uri("http://stackoverflow.com/search?q=something");
 string uriWithoutScheme = uri.Host.Replace("www.","") + uri.PathAndQuery;

这将给你:stackoverflow.com/search?q=something

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13969214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档