icu::BreakIterator
特定の単語を見つけるために使用する方法を理解しようとしています。
たとえば、次の文があります。
なるか、ならないか?それが質問です...
ブレーク イテレータの Word インスタンスは、そこにブレークを配置します。
|へ| |する| |または| |ない| |へ| |で|?| |あれ| |は| |ザ| |質問|.|.|.|
さて、ブレークポイントのすべてのペアが実際の単語であるとは限りません。
派生クラスicu::RuleBasedBreakIterator
には、ブレークに関する何らかの情報を返す「getRuleStatus()」があり、「次のポイント (「/」でマーク) での Word ステータス」を返します。
|To/ |be/ |or/ |not/ |to/ |be/?| |それ/ |は/ |その/ |質問/.|.|.|
しかし...それはすべて特定のルールに依存しており、それを理解するためのドキュメントはまったくありません(試してみない限り)が、辞書が使用されている異なるロケールや言語ではどうなるでしょうか? バックウェア反復で何が起こるか?
Qt QTextBoundaryFinder のように「単語の始まり」または「単語の終わり」の情報を取得する方法はありますか?
ICUでこのような問題を正しく解決するにはどうすればよいですか?