".com" "http://www.google.com.gr "--> ".com.gr" "https://made.in.ch-6ren">
gpt4 book ai didi

ios - 如何仅获取 NSURL 的 TLD?

转载 作者:行者123 更新时间:2023-11-29 00:31:59 29 4
gpt4 key购买 nike

例如:

"http://www.youtube.com "--> ".com"

"http://www.google.com.gr "--> ".com.gr"

"https://made.in.china.chinesewebsite.닷컴 "--> ".닷컴"

URL 的主机是死胡同。

NSURL *URL;

[URL host];

最佳答案

获取 URL 的主机,在 . 分隔符处将其分解,并获取最后一个组成部分。

- (NSString *) tldOfURL: NSURL *theURL; {
NSString *host = theURL.host;
NSArray *parts = [host componentsSeparatedByString: @"."];
if parts.count < 2 {
return nil;
}
return parts.lastObject;
}

起初我的答案是使用 NSURLComponents,因为在大多数情况下,该类会为您完成所有繁重的工作,但看起来它没有提取 TLD 的机制。

请注意,如果主机名不包含至少一个句点 (.),则以上代码将返回 nil;如果主机名以句点结尾,则以上代码将返回空字符串。这两种情况都应该被视为错误。

附言我开始对 Objective-C 语法生疏了。很难相信,考虑到我花了多少年时间编写 Objective-C!

关于ios - 如何仅获取 NSURL 的 TLD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41507860/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com