作業中の NSString がありますが、文字の長さで解析したいと思います。したがって、それを NSArray に分割し、配列内の各オブジェクトをその文字列の x 文字にします。基本的に、文字列を特定の長さのサブ文字列に分割します
それで、どうすればいいですか?
例:
NSString *string = @"これが私の文字列です"
NSArray オブジェクト:
"彼女"
「ええ」
「スム」
「はい」
「トリ」
「ん」
これは機能しますか?まだテストされていません
@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];