将NSString拆分为Objective-C中的数组

Yos*_*far 14 cocoa-touch objective-c nsstring nsarray

如何将字符串拆分@"Hello"为:

  • 的C数组'H','e','l','l','o'

要么:

  • 一个Objective-C数组 @[@"H", @"e", @"l", @"l", @"o"]

小智 36

如果您对chars 的C数组感到满意,请尝试:

const char *array = [@"Hello" UTF8String];
Run Code Online (Sandbox Code Playgroud)

如果您需要NSArray,请尝试:

NSMutableArray *array = [NSMutableArray array];
NSString *str = @"Hello";
for (int i = 0; i < [str length]; i++) {
    NSString *ch = [str substringWithRange:NSMakeRange(i, 1)];
    [array addObject:ch];
}
Run Code Online (Sandbox Code Playgroud)

并且array将包含每个字符作为它的一个元素.

  • @ H2CO3而不是使用范围为1的子字符串,只需使用`-characterAtIndex:`. (3认同)

Joh*_*ohn 7

试试这个 :

- (void) testCode
{
    NSString *tempDigit = @"12345abcd" ;
    NSMutableArray *tempArray = [NSMutableArray array];
    [tempDigit enumerateSubstringsInRange:[tempDigit rangeOfString:tempDigit]
                                  options:NSStringEnumerationByComposedCharacterSequences
                               usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
            [tempArray addObject:substring] ;
        }] ;

    NSLog(@"tempArray = %@" , tempArray);
}
Run Code Online (Sandbox Code Playgroud)