例如:
" http://www.youtube.com" - > " .COM"
" http://www.google.com.gr" - > " .com.gr"
" https://made.in.china.chinesewebsite.닷컴" - > &#34 ;.닷컴"
网址的主机是一个死胡同。
NSURL *URL;
[URL host];
答案 0 :(得分:1)
获取网址的主机,在.
分隔符处将其拆分,然后选择最后一个组件。
- (NSString *) tldOfURL: NSURL *theURL; {
NSString *host = theURL.host;
NSArray *parts = [host componentsSeparatedByString: @"."];
if parts.count < 2 {
return nil;
}
return parts.lastObject;
}
起初我的回答是使用NSURLComponents
,因为在大多数情况下,该类会为您完成所有繁重工作,但看起来它没有提取TLD的机制。
请注意,如果主机名不包含至少一个句点(.
),则上述内容将返回nil;如果主机以句点结尾,则返回空字符串。这两种情况都应视为错误。
P.S。我开始厌恶Objective-C语法。很难相信,因为我花了多少年时间编写Objective-C!