中国のニュース フィードがあり、文を小さなチャンクに分割して API に渡したいと考えています。
どうすればiosでできますか?英語の文字長を 50 文字に設定しました。
現在rangeOfString:
、関数を使用してドット、コンマ、および文の区切りを見つけています。
NSString *str = nil, *rem = nil;
str = [final substringToIndex:MAX_CHAR_Private];
rem = [final substringFromIndex:MAX_CHAR_Private];
NSRange rng = [rem rangeOfString:@"?"];
if (rng.location == NSNotFound) {
rng = [rem rangeOfString:@"!"];
if (rng.location == NSNotFound) {
rng = [rem rangeOfString:@","];
if (rng.location == NSNotFound) {
rng = [rem rangeOfString:@"."];
if (rng.location == NSNotFound) {
rng = [rem rangeOfString:@" "];
}
}
}
}
if (rng.location+1 + MAX_CHAR_Private > MAXIMUM_LIMIT_Private) {
rng = [rem rangeOfString:@" "];
}
if (rng.location == NSNotFound) {
remaining = [[final substringFromIndex:MAX_CHAR_Private] retain];
}
else{
//NSRange rng = [rem rangeOfString:@" "];
str = [str stringByAppendingString:[rem substringToIndex:rng.location]];
remaining = [[final substringFromIndex:MAX_CHAR_Private + rng.location+1] retain];
}
これは、中国語と日本語の文字では正しく機能しません。