「ios開発」iOSで文字列から一部分を取り出すサンプルプログラム

コード下記:
#import “NSString+StringToWords.h"

@implementation NSString (StringToWords)

– (NSArray *)words
{
#if ! __has_feature(objc_arc)
NSMutableArray *words = [[[NSMutableArray alloc] init] autorelease];
#else
NSMutableArray *words = [[NSMutableArray alloc] init];
#endif

const char *str = [self cStringUsingEncoding:NSUTF8StringEncoding];

char *word;
for (int i = 0; i < strlen(str);) {
int len = 0;
if (str[i] >= 0xFFFFFFFC) {
len = 6;
} else if (str[i] >= 0xFFFFFFF8) {
len = 5;
} else if (str[i] >= 0xFFFFFFF0) {
len = 4;
} else if (str[i] >= 0xFFFFFFE0) {
len = 3;
} else if (str[i] >= 0xFFFFFFC0) {
len = 2;
} else if (str[i] >= 0x00) {
len = 1;
}

word = malloc(sizeof(char) * (len + 1));
for (int j = 0; j < len; j++) {
word[j] = str[j + i];
}
word[len] = '\0’;
i = i + len;

NSString *oneWord = [NSString stringWithCString:word encoding:NSUTF8StringEncoding];
free(word);
[words addObject:oneWord];
}

return words;
}

@end

説明:
NSMutableArray
NSMutableArrayクラスは、NSArrayを可変としたい場合に使用します。
NSMutableArrayはNSArrayを継承していますので、NSArrayのメソッドはそのまま使用できる

IOS

Posted by arkgame