如何在没有分隔符的情况下拆分字符串?

时间:2009-09-11 23:56:28

标签: iphone objective-c cocoa cocoa-touch nsstring

我需要在没有分隔符的情况下拆分字符串。 这是代码..

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

这里我使用了分隔符“,”来分割字符串,但我想在不使用分隔符的情况下进行拆分

NSString *mystring =@"123456";

我有这个值,现在我想在这样的数组中插入该值:

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

............等等..

1 个答案:

答案 0 :(得分:3)

当你考虑国际化时,这类问题有点棘手。例如,如果您使用“哑算法”路径并且只接受字符,则任何多字节字符都会混乱。这可能是您能够很好地处理不同语言的最简单的算法:

- (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];
}

尽管这远非完美,但并非所有语言都必须像我们一样对字符进行计数。