Skip to main content

Таблица DocumentAPI.TextUnit

В таблице представлены варианты разделения текста на диапазоны. Используется в методах Position:getCurrentRange(), Position:getNextRange() и Position:getPreviousRange().

ЗначениеОписание
DocumentAPI.TextUnit_CharacterРазделение по символам
DocumentAPI.TextUnit_WordРазделение по словам (символы-разделители считаются отдельными словами)
DocumentAPI.TextUnit_SentenceРазделение по предложениям (разделители после предложения считаются его частью)
DocumentAPI.TextUnit_ParagraphРазделение по абзацам

Пример​


local secondSentence = document:getRange():getBegin():getNextRange(DocumentAPI.TextUnit_Sentence)
local firstSentenceLastWord = secondSentence:getBegin():getPreviousRange(DocumentAPI.TextUnit_Word)
while firstSentenceLastWord:getContentEnd():compare(firstSentenceLastWord:getBegin()) == 1 do
firstSentenceLastWord = firstSentenceLastWord:getBegin():getPreviousRange(DocumentAPI.TextUnit_Word)
end
local thirdSentenceFirstLetter = secondSentence:getContentEnd():getCurrentRange(DocumentAPI.TextUnit_Character)

print(secondSentence:extractText())
-- Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
print(firstSentenceLastWord:extractText())
-- aliqua
print(thirdSentenceFirstLetter:extractText())
-- D