例如:NSString *strWord = "english";
NSArray的结果将是:e n g l i s h
我认为可以用
来做[NSString componentSeparatedByCharacter:somecharacter],但我不知道那个角色是什么......
我写了这样的东西来提取角色:
NSString *character;
for (int i=0; i<[strWord length]; i++) {
character = [strWord substringWithRange:NSMakeRange(i, 1)];
}
感谢您的帮助!
答案 0 :(得分:5)
如果您需要枚举它们并支持iOS 4.0或更高版本,则可以使用
[strWord enumerateSubstringsInRange:NSMakeRange(0, [strWord length])
options:NSStringEnumerationByComposedCharacterSequences
usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop){
// substring here contains each character in turn
}];
如果您实际上不需要将它们作为NSArray,您也可以使用-getCharacters:range:
将字符复制到缓冲区中。或者你可以迭代字符串(使用块方法,或重复调用-characterAtIndex:
,或者通过复制整个缓冲区并迭代它)并构建自己的数组。
答案 1 :(得分:4)
这样做:
NSMutableArray *characters = [[NSMutableArray alloc] initWithCapacity:[myString length]];
for (int i=0; i < [myString length]; i++) {
NSString *ichar = [NSString stringWithFormat:@"%c", [myString characterAtIndex:i]];
[characters addObject:ichar];
}
在这里查看更多选项: