在Objective-C中拆分NSString,没有分隔符

时间:2013-08-12 03:46:57

标签: ios objective-c

我知道使用componentsSeparatedByString:分割字符串有几个答案,但是如果字符串没有分隔符会怎样。使用@“”,不起作用。

NSString *str = @"ABCDE";
NSArray *arr = [str componentsSeparatedByString:@""];
NSLog(@"%@", arr)
==> ABCDE

我想要的是 -

==> (A,B,C,D,E)

这样我就可以访问每个角色了。谢谢!

2 个答案:

答案 0 :(得分:3)

最可靠的方法是将-[NSString enumerateSubstringsInRange:options:usingBlock:]NSStringEnumerationByComposedCharacterSequences选项一起使用。

NSMutableArray* array = [NSMutableArray array];
[str enumerateSubstringsInRange:NSMakeRange(0, str.length)
                        options:NSStringEnumerationByComposedCharacterSequences
                     usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop){
    [array addObject:substring];
}];

答案 1 :(得分:1)

[string characterAtIndex:i];循环中使用for
循环中- (NSString *)substringWithRange:(NSRange)aRange

NSMutableArray *arr = [[NSMutableArray alloc] init];
for (int i = 0; i < string.length; i++)
{
    unsigned int character = [string characterAtIndex:i];
    [arr addObject:[NSString stringWithFormat:@"%C",character]];
}