0

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

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

我想要的是——

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

这样我就可以访问每个字符。谢谢!

4

2 回答 2

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];
}];
于 2013-08-12T05:34:04.680 回答
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]];
}
于 2013-08-12T03:51:30.890 回答