按字符数拆分NSString?

时间:2011-10-24 17:15:58

标签: objective-c cocoa nsstring

将NSString按最大字符数分割的最简单方法是什么?

例如,如果我的字符串长度为204个字符,并且我希望将其拆分为100个字符,那么它应该产生一个带有三个子字符串(100,100,4)的NSArray。

2 个答案:

答案 0 :(得分:8)

NSMutableArray *array = [[NSMutableArray alloc] init];
int len=0;

while( (len+100)<[string length]) {
    [array addObject:[string substringWithRange:NSMakeRange(len,100)]];
    len+=100;
}

[array addObject:[string substringFromIndex:len]];

完成后不要忘记释放阵列。

答案 1 :(得分:0)

这可以帮助

- (NSArray *)chunksForString(NSString *)str {
    NSMutableArray *chunks = [[NSMutableArray alloc] init];
    double sizeChunk = 100.0; // or whatever you want
    int length = 0;
    int loopSize = ceil([str length]/sizeChunk);
    for (int index = 0; index < loopSize; index++) {
        NSInteger newRangeEndLimit = ([str length] - length) > sizeChunk ? sizeChunk : ([str length] - length);
        [chunks addObject:[str substringWithRange:NSMakeRange(length, newRangeEndLimit)];
        length += 99; // Minus 1 from the sizeChunk
    }

    return chunks;
}