Как я могу разбить строку без разделителя? - PullRequest
2 голосов
/ 12 сентября 2009

Мне нужно разделить строку без разделителя. Вот код ..

myarray = [mystring componentsSeparatedByString:@","];

Здесь я использовал разделитель "," для разделения строки, но я хочу разделить без использования разделителя

NSString *mystring =@"123456";

У меня есть это значение, теперь я хочу вставить это значение в массив следующим образом:

array[0]=1;
array[1]=2;

............ и т. Д ..

1 Ответ

3 голосов
/ 12 сентября 2009

Этот вопрос немного сложен, если учесть интернационализацию. Например, если вы идете по маршруту «тупой алгоритм» и просто берете символы, любой многобайтовый символ будет испорчен. Вероятно, это самый близкий простой алгоритм, который вы можете использовать для правильной работы с разными языками:

- (NSArray *)arrayOfCharacters {
    int startIndex = 0;
    NSMutableArray *resultStrings = [NSMutableArray array];
    while (startIndex < [self length]) {
        NSRange characterRange = [self rangeOfComposedCharacterSequenceAtIndex:startIndex];
        [resultStrings addObject:[self substringWithRange:characterRange]];
        startIndex += characterRange.length;
    }
    return [[resultStrings copy] autorelease];
}

Хотя это далеко от совершенства - не все языки считают символы одинаково, как мы.

...