【发布时间】:2011-10-24 17:15:58
【问题描述】:
按最大字符数分割 NSString 的最简单方法是什么?
例如,如果我有一个长度为 204 字符的字符串,并且我想将其拆分为 100 字符,则它应该生成一个包含三个子字符串 (100,100,4) 的 NSArray。
【问题讨论】:
标签: objective-c cocoa nsstring
按最大字符数分割 NSString 的最简单方法是什么?
例如,如果我有一个长度为 204 字符的字符串,并且我想将其拆分为 100 字符,则它应该生成一个包含三个子字符串 (100,100,4) 的 NSArray。
【问题讨论】:
标签: objective-c cocoa nsstring
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]];
完成后不要忘记释放数组。
【讨论】:
这会有所帮助
- (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;
}
【讨论】: