回答
我認爲這個問題是一點點無效。主機取決於其FQDN(完全合格的域名),在您的示例中,該域名是www.google.com。這與mail.google.com或www.google.info或google.com不一樣。選出「谷歌」並不是微不足道的,從URL的角度來看沒有多大意義。
如果你想只是解析URL更多或更少的智能,我認爲你可以做到以下幾點:
- 使用NSURL的-host方法來獲得正確的剝離方案和路徑/查詢。
- 使用NSString的-componentsSeparatedByString:方法來獲取域名「組件」的數組。
- 忽略最後一個組件。
- 如果只剩下一個組件(或者它可能足以採用倒數第二個組件),那麼就完成了。
- ,第一成分中含有「WWW」像www3,「FTP」,「郵件」或他們的那種東西,你可以如果你喜歡忽略這一點。其餘的可能是有趣的,這取決於你的需求。
- 測試你的,萬周夫莫開的網址算法得到這個任務的徒勞感;)
:)謝謝你。 我想知道如何做到這一點的原因是因爲我從服務器提供了幾個URL。這些URL將99.9%的時間格式爲「http://www.thesite.com」,因此對於我的目的而言,這可能是暫時的快捷方式。 我只想顯示網站名稱。這將是很好的網址和網站命名單獨返回,但我目前無法控制此 – dubbeat
在iOS中7,你可以使用NSURLComponents類:
NSURLComponents *components = [[NSURLComponents alloc] initWithString:@"http://stackoverflow.com/questions/2333972/objective-c-parse-domain-name-from-url-string"];
NSAssert([components.host isEqualToString:@"stackoverflow.com"], nil);
只是FYI,'主機'包括給定的URL的子域。所以如果URL是'www.stackoverflow.com/...',你的斷言就會失敗。 –
- 1. 解析域名從字符串文本
- 2. 解析域名/主機名字符串
- 3. 解析不協調的字符串郵政域名字符串
- 4. 解析url字符串
- 5. 解析url字符串
- 6. 解析主機名和端口從字符串或URL
- 7. 解析字符串 - 從字符串
- 8. 用URL解析URL到域名中
- 9. 解析出從字符串
- 10. 從解析字符串
- 11. 解析字符串從API
- 12. 解析JSON字符串從
- 13. xml從字符串解析
- 14. 解析從字符串
- 15. C++解析,從字符串
- 16. 解析區域字符串語言
- 17. 解析解析字符串
- 18. 從字符串URL獲取域名和頁面名稱
- 19. 解析駝峯字符串與名字
- 20. Nokogiri解析編碼的URL字符串
- 21. 解析字符串中的url參數
- 22. Url重寫 - 查詢字符串解析
- 23. SQL連接字符串和解析域名
- 24. 解析從URL JSON字符串,並將其存儲在空字符串
- 25. 解析字符串
- 26. 解析字符串
- 27. 字符串解析
- 28. 解析字符串
- 29. 解析字符串
- 30. 解析字符串
澄清的要求 - 你是什麼想從meta.stackoverflow.com得到? – Vladimir
並從www.gov.yk.ca –
這將是「stackoverflow」。 我剛剛發現用「。」分隔字符串到數組中。刪除器然後選擇數組[1]。我不認爲這是可擴展的? – dubbeat