NLTokenizer
可以将文本拆分成单词.
import NaturalLanguage
let tokenizer = NLTokenizer(unit: .word)
tokenizer.setLanguage(.thai)
// or:
//tokenizer.setLanguage(.khmer)
//tokenizer.setLanguage(.lao)
//tokenizer.setLanguage(.burmese)
let text = "ทำอะไรอยู่ล่ะคุณนาย"
tokenizer.string = text
// this returns the ranges of all the words
let tokenRanges = tokenizer.tokens(for: text.startIndex..<text.endIndex)
for tokenRange in tokenRanges {
print(text[tokenRange])
}
输出:
ทำ
อะไร
อยู่
ล่ะ
คุณนาย
在您的实际代码中,您可以使用每个单词范围的上限作为"单词边界".或者,由于您正在制作标题,因此可能更适合使用:
let lastWordRange = tokenizer.tokenRange(at: index)
要得到特定index
的单词范围,其中index
可能接近您想要的分界点,而您在lastWordRange.upperBound
"切断了字符串".