テキストの段落を調べて、一度に 1 つの文を返す列挙子を書きたいと思います。NSStringEnumerationBySentences で stringEnumerate を使用しようとしましたが、単にピリオドを見て失敗します。たとえば、次のテキスト ブロックがあるとします。
「ジョン・A・ベーナー上院議員は前に進まないことを決めた.彼はまた議会を招集しないことを決めた.ニュースレポーターは言った....」
上記の段落を次の文に分解する関数を希望します。
ジョン・A・ベーナー上院議員は前進しないことを決定した
彼はまた、議会を招集しないことを決定しました(半文なので3番目の文はありません)
文オプションを指定した文字列列挙子は、ピリオドを見て、そのように分解しますが、これは間違っています。
上院議員ジョン A.
ベーナーは前に進まないことを決めた
彼はまた、議会を招集しないことを決定した
新聞記者が言ってたけど…
これでより良い仕事をするために呼び出すことができるライブラリまたは関数はありますか?
ありがとう
- (NSMutableString *) getOnlyFullSentencesFromTextBlock:(NSMutableString *) textBlock{
[textBlock enumerateSubstringsInRange:NSMakeRange(0, [textBlock length])
options:NSStringEnumerationBySentences | NSStringEnumerationLocalized
usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop)
{
NSLog(@"Sentence Frag:%@", substring);
}];
return textBlock;
}