在icu :: BreakIterator中查找中断类型

时间:2009-09-24 13:48:56

标签: c++ unicode nlp localization icu

我正在尝试解释如何使用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中的这种问题?

1 个答案:

答案 0 :(得分:3)

你试过ICU documentation吗?它似乎解释了您要询问的所有内容,包括国际化处理,反向迭代和规则,默认情况以及如何创建自己的自定义集。他们还有代码片段来帮助。