C#获取顶级域名的方法

xxx.com  xxx.xxx.com.cn    最终得到xxx.com   xxx.com.cn
网上没有找到符合我要求的正则表达式
 
我用最笨的方法来实现
编程思路
得到标准的网址,截取两个或三个.两边的字符串
1。分割 .  两边的字符串
2。取到最后一个点,两边字符串
3。与com.cn net.cn org.cn比较
4。如果相同,就取两个点两边的字符为域名
控制台应用程序
static void Main(string[] args)
        {
            Console.Write("请输入一个标准网址:");
            string url = Console.ReadLine();
            //分割.两边的字符串
            char[] a = { '.'};
            //由于目前域名后缀中,最长的只有这个三.com.cn .net.cn .org.cn
            //那么顶级域名后缀,先取最长的两个来与.com.cn .net.cn .org.cn比较
            string[] temp = url.Split(a);
            string domain = temp[temp.Length - 2] + "." + temp[temp.Length-1];
            if (domain == "com.cn" || domain == "net.cn" || domain == "org.cn")
            {
                domain = temp[temp.Length - 3] + "." + temp[temp.Length - 2] + "." + temp[temp.Length-1];
            }
           //如果和以上三个相同,那么域名就再向左截一个点
            Console.Write("域名为:"+domain);
           
            Console.ReadLine();
        }
_____________________________________________________
   ///
        /// 分析指定网址的域名
        ///
        ///
        /// 返回一个域名
        public string GetUrlDomainName(string url)
        {
            //获取域名之前格式化域名为标准的不带参数的网址
            string p = @"             string ps = @"               Regex reg;
            if (url.Substring(0, 5).ToLower() == "https")
            {//不区分大小写匹配
                reg = new Regex(ps, RegexOptions.IgnoreCase);
            }
            else
            {//不区分大小写匹配
                reg = new Regex(p, RegexOptions.IgnoreCase);
            }

            //正则表达式匹配结果
            Match m = reg.Match(url);
            //返回匹配结果值
            url = m.Groups["domain"].Value;

            //把标准网址.两边的字符分割出来
            char[] a = { '.' };
            string[] temp = url.ToLower().Split(a);
            //取最后一个点两边的字符串
            string domain = temp[temp.Length - 2] + "." + temp[temp.Length - 1];
            //目前域名两个点的只有这三个 com.cn   net.cn  org.cn
            if (domain == "com.cn" || domain == "net.cn" || domain == "org.cn")
            {
                domain = temp[temp.Length - 3] + "." + temp[temp.Length - 2] + "." + temp[temp.Length - 1];
            }
            return domain;
        }

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23109131/viewspace-631091/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23109131/viewspace-631091/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值