Я использую BreakIterator
, чтобы разбить предложение на несколько слов.Вот как я его создаю:
std::unique_ptr<BreakIterator> word_break_iterator;
// "locale" and "status" are defined elsewhere
word_break_iterator.reset(BreakIterator::createWordInstance(locale, status));
Это работает нормально, однако у меня есть ситуация, когда в предложении появляется слово " Something ™ ".Итератор разделил его на « что-то » и « ™ ».
Я не хочу, чтобы это делалось.
Я узнало нарушают правила , и, похоже, он подходит для моего варианта использования:
Правила чаще всего описывают диапазон текста, который должен оставаться вместе, без разрывов.
Я думаю, мне нужно добавить правило [\p{Letter}]+™;
в мой итератор.Однако после прочтения документации API на BreakIterator
(http://icu -project.org / apiref / icu4c / classicu_1_1BreakIterator.html ) я не могу понять, как это сделать.
Как добавить это пользовательское правило в мой BreakIterator
?