我有一个我正在使用的NSString,但我想按字符长度解析它。因此将它分解为NSArray,并使数组中的每个对象都是该字符串中的x个字符。所以基本上,将字符串分解为一定长度的子字符串
那么,我该怎么办?
示例:
NSString * string = @“这是我的字符串”
NSArray对象:
“她的”
“e i”
“s m”
“y s”
“三”
“ng”
答案 0 :(得分:5)
这可以吗?虽未经过测试
@interface NSString (MyStringExtensions)
- (NSArray*)splitIntoPartsWithLength:(NSUInteger)length;
@end
@implementation NSString (MyStringExtensions)
- (NSArray*)splitIntoPartsWithLength:(NSUInteger)length
{
NSRange range = NSMakeRange(0, length);
NSMutableArray *array = [NSMutableArray array];
NSUInteger count = [self length];
while (length > 0) {
if (range.location+length >= count) {
[array addObject:[self substringFromIndex:range.location]];
return [NSArray arrayWithArray:array];
}
[array addObject:[self substringWithRange:range]];
range.location = range.location + length;
}
return nil;
}
@end
编辑 - 作为
类别使用NSString *myString = @"Wish you a merry x-mas";
NSArray *array = [myString splitIntoPartsWithLength:10];