按字符数拆分一个NSString?

问题描述 投票:4回答:2

按最大字符数拆分一个NSString的最简单方法是什么?

例如,如果我有一个字符串是 204 字符长,我想把它分割在 100 字符,它应该产生一个包含三个子串的NSArray(100,100,4).

objective-c cocoa nsstring
2个回答
9
投票
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]];

不要忘记在完成后释放数组。


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;
}

© www.soinside.com 2019 - 2024. All rights reserved.