2013-12-05 3 views
-3

У меня есть NSString, который содержит числа и символы. Я хотел бы знать лучший способ сделать NSArray из NSStrings, которые содержат по 2 символа из основной строки.создать NSArray подстрок из NSString

Например, если исходный NSString выглядел как этот

AFC23S4QL0 

ваш NSArray подстроки будет выглядеть следующим образом

ARRAY { 
    AF, 
    C2, 
    3S, 
    4Q, 
    L0 
} 
+0

Лучший способ в каком смысле? Несколько кодовых строк? Быстрое выполнение? (Для коротких строк или огромных строк?) Читаемость? –

+0

Вы должны действительно взглянуть на методы 'NSString', если это вызывает у вас проблему, потому что это всего лишь простой цикл ... –

+1

У вас возникли вопросы? Разве вы не можете просто это кодировать? Что тут спросить? –

ответ

2

Вы можете использовать substringWithRange: для этого.

NSString *subStr = @""; 
int strLen = [yourString length]; 
BOOL flag = (strLen %2 == 0) ? YES : NO; 
for (int index = 0; index < strLen; index+=2) 
{ 
    if((strLen-1 == index) && !flag) 
    { 
     subStr = [yourString substringWithRange:NSMakeRange(index, 1)]; 
    } 
    else 
    { 
     subStr = [yourString substringWithRange:NSMakeRange(index, 2)]; 
    } 
    [yourArray addObject:subStr]; 
} 
+1

@RichTolley нет, этого не должно быть. – rmaddy

+0

@Midhun - ваше обновление неверно и сбой. Вы хотите 'index rmaddy

+0

@rmaddy: Я просто изменил эту строку: int strLen = [yourString length] -2; '. Я думаю, сейчас все в порядке, у меня нет машины Mac со мной прямо сейчас, иначе я бы это проверил. –

Смежные вопросы