Перечисление TextUnit
В таблице представлены варианты разделения текста на диапазоны. Используется в методах Position::getCurrentRange(), Position::getNextRange() и Position::getPreviousRange().
| Значение | Описание |
|---|---|
TextUnit::Character | Разделение по символам |
TextUnit::Word | Разделение по словам (символы-разделители считаются отдельными словами) |
TextUnit::Sentence | Разделение по предложениям (разделители после предложения считаются его частью) |
TextUnit::Paragraph | Разделение по абзацам |
Пример
Range secondSentence = document.getRange().getBegin().getNextRange(TextUnit::Sentence).get();
Range firstSentenceLastWord = secondSentence.getBegin().getPreviousRange(TextUnit::Word).get();
while (firstSentenceLastWord.getContentEnd().compare(firstSentenceLastWord.getBegin()) == 1)
{
firstSentenceLastWord = firstSentenceLastWord.getBegin().getPreviousRange(TextUnit::Word).get();
}
Range thirdSentenceFirstLetter = secondSentence.getContentEnd().getCurrentRange(TextUnit::Character).get();
std::printf("%s", secondSentence.extractText().c_str());
// Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
std::printf("%s", firstSentenceLastWord.extractText().c_str());
// aliqua
std::printf("%s", thirdSentenceFirstLetter.extractText().c_str());
// D