Получить рут сайта от NSString или NSUrl - PullRequest
7 голосов
/ 24 ноября 2010

Есть идеи, как мне получить рут сайта от NSString или NSURL? Так что если бы мой URL был http://www.foo.com/bar/baragain, как бы я получил http://www.foo.com/?

Ответы [ 4 ]

16 голосов
/ 24 ноября 2010

Используя [url scheme] и [url host], вот так:

NSURL *url = [NSURL URLWithString:@"http://www.foo.com/bar/baragain"];
NSLog(@"Base url: %@://%@", [url scheme], [url host]);
// output is http://www.foo.com
10 голосов
/ 06 августа 2013
NSURL *url = [NSURL URLWithString:@"http://www.foo.com/bar/baragain"];
NSURL *root = [NSURL URLWithString:@"/" relativeToURL:url];
NSLog(@"root = '%@'", root.absoluteString); // root = 'http://www.foo.com/'
3 голосов
/ 12 августа 2014

Вы можете удалить NSURL s path из строки. Это учитывает номера портов и другие данные, которые являются частью корневого сайта.

NSString *urlString = @"http://www.foo.com/bar/baragain";
NSURL *rootUrl = [NSURL URLWithString:urlString];
NSString *rootUrlString = [urlString stringByReplacingOccurrencesOfString:rootUrl.path withString:@""];
0 голосов
/ 24 ноября 2010
NSString *str = @"http://www.foo.com/bar/baragain"; 
NSArray *temp = [str componentsSeparatedByString: @".com"];
str = [NSString stringWithFormat: @"%@%@", [temp objectAtIndex:0], @".com"];
...