在 icu::BreakIterator 中查找中断类型
-
16-09-2019 - |
题
我试图了解如何使用 icu::BreakIterator
来查找特定的单词。
例如我有以下句子:
生存还是毁灭?就是那个问题...
中断迭代器的 Word 实例会在那里放置中断:
| | | BE | |或| |不| | | | BE |?| |那| |是| | | |问题|。|。|。|
现在,并不是每对断点都是实际的单词。
在派生类中 icu::RuleBasedBreakIterator
有一个“getRuleStatus()”返回某种有关中断的信息,它给出“以下点的单词状态(标记为“/”)”
| to/ | be/ | or/ | not/ | to/ | be/?| | that/ | is/ | the/ |问题/。|。|。|
但...这一切都取决于特定的规则,并且绝对没有文档可以理解它(除非我只是尝试),但是使用字典的不同语言环境和语言会发生什么?后台软件迭代会发生什么?
有没有办法像 Qt QTextBoundaryFinder 一样获取“词开始”或“词结束”信息: http://qt.nokia.com/doc/4.5/qtextboundaryfinder.html#BoundaryReason-enum?
在ICU遇到这样的问题该如何正确解决?
解决方案
您是否尝试过 ICU文档?这似乎说明一切则是问有关,包括国际化的处理,反反复,规则,默认和如何创建自己的自定义设置。他们也有代码片断帮助。
不隶属于 StackOverflow