Позиция символа NSString
NSString *url = @"http://stackoverflow.com/info/ask";
Как я могу получить позицию символа 4-го "/"?
Ответы
Ответ 1
Если вы просто пытаетесь получить последнюю часть URL-адреса, вы должны иметь возможность использовать это:
NSArray* items = [url componentsSeparatedByString:@"/"];
Чтобы получить индекс последнего символа '/':
NSRange range = [url rangeOfString:@"/" options:NSBackwardsSearch];
получить значение индекса от range.location
Чтобы найти индекс четвертого символа '/' из url:
int count = 0;
int index = -1;
for (unsigned int i=0; i < [url length]; ++i) {
if ([url characterAtIndex:i] == '/') {
++count;
if (count == 4) {
index = i;
break;
}
}
}
Ответ 2
Обычно вам не нужно получать индекс букв /. Вы можете просто использовать множество методов удобства, определенных в NSURL
, см. эту ссылку Apple. Я бы сделал
NSURL* url=[NSURL URLWithString:@"http://stackoverflow.com/questions/ask"];
NSString* last=[url lastPathComponent]; // last is now @"ask"
Ответ 3
другой способ, которым вы можете использовать
[url rangeOfString:@"/" options:NSBackwardsSearch].location
надеюсь, что это поможет!
Ответ 4
Я понял свой ответ после понимания вашей проблемы.
Ответ Hitesh почти правильный, вам просто нужно сделать немного больше
NSArray* items = [url componentsSeparatedByString:@"/"];
if ([items count] > 4) {
NSString *string = [items objectAtIndex:4];
}