Добавление правила в ICI BreakIterator - PullRequest
0 голосов
/ 05 июля 2019

Я использую 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?

...