Я хотел бы написать перечислитель, который пройдет через абзац текста и даст мне по одному предложению за раз. Я попытался использовать stringEnumerate с помощью NSStringEnumerationBySentences, но просто просматривает периоды и терпит неудачу. Например, предположим, что у меня есть следующий текст Блок:Цель C Перечисление предложений в абзаце
«Сенатор Джон А. Бонер решил не двигаться вперед, он также решил не называть съезд сказал репортер новостей, хотя ......»
Я хотел бы свою функцию, чтобы сломать выше пункт в следующих предложениях:
сенатор Джон А. Бонер решил не двигаться вперед
Он также решил не т назвать съезд (Нет третье предложение, потому что это половина предложение)
Строка Enumerator с предложением optionjust смотрит на периоды и перерывы вниз таким образом, что неправильно:
сенатор Джон А.
Бонер решил не двигаться вперед
Он также решил не называть съезд
Новости репортер сказал, хотя ....
Есть ли библиотека или функция, которую я могу назвать, что делает лучшую работу в этом?
Благодаря
- (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;
}
Вам действительно нужно перебирать их напрямую или было бы неплохо получить все предложения в массиве и перебрать их за –
Вам нужно было бы лучше определить, что делает предложение предложением. Его достаточно просто для людей сказать, что предложение не заканчивается в первый период, потому что это аббревиатура, но как компьютер знает об этом? –
Я не могу придумать способ сделать то, что вы просите, просто проанализировав строку символов. Вам, вероятно, нужно что-то, что хорошо понимает грамматику английского языка ... возможно, переднюю часть автоматической системы перевода. –