如字符串为:
string a="http://www.cnblogs.com";
string b="http://q.cnblogs.com";
string c="http://www.google.com.hk/webhp"
如何获取这几个地址的域名?
我知道可以用Uri得到:
Uri a=new Uri(a);
Uri b=new Uri(b);
Uri c=new Uri(c);
string ahost=a.Host;
string bhost=b.Host;
string chost=c.Host;
但用这个要联网,我想要的效果是离线也可判断,也就是说仅根据地址字符串来判断,不用Uri,不知道有没有比较准确的方法
是这样的吗?
public static string GetUrlDomainName(string strHtmlPagePath)
{
string p = @"http://[^\.]*\.(?<domain>[^/]*)";
Regex reg = new Regex(p, RegexOptions.IgnoreCase);
Match m = reg.Match(strHtmlPagePath);
return m.Groups["domain"].Value;
}
刚才发现用Uri很快,现在还不确定需不需要联网,先用着看吧,还是谢谢你啊
你这个好像有些问题,因为后面可能跟很多参数
@天行健 自强不息: 你说的是后面跟着的?a=111这种参数?用正则匹配掉就可以了。Uri也很快,假如联网的话确实用uri会好些。