我正在尝试解释如何使用icu::BreakIterator
来查找特定字词。
例如,我有以下句子:
成为或不成为?这就是问题......
break iterator的Word实例会在那里放置休息符:
|到| |是| |和| |不能| |至| |是|?| |这| |是| |的| |问题|。|。|。|
现在,并非每一个断点都是实际的词。
在派生类icu::RuleBasedBreakIterator
中有一个“getRuleStatus()”,它返回有关break的某些信息,并且它给出了“以下几点的Word状态(标记为”/“)”
| To / | be / |或/ | not / | to / | be /?| |那个/ |是/ | / |问题/。|。|。|
但是......这一切都取决于具体的规则,并且绝对没有文档可以理解它(除非我只是尝试),但是使用字典的不同语言环境和语言会发生什么?反向软件迭代会发生什么?
有没有办法在Qt QTextBoundaryFinder中获取“Word开头”或“Word结尾”信息:http://qt.nokia.com/doc/4.5/qtextboundaryfinder.html#BoundaryReason-enum?
我应该如何正确解决ICU中的这种问题?
答案 0 :(得分:3)
你试过ICU documentation吗?它似乎解释了您要询问的所有内容,包括国际化处理,反向迭代和规则,默认情况以及如何创建自己的自定义集。他们还有代码片段来帮助。