关于 BreakIterator 类

BreakIterator类是对语言环境敏感的,因为文本边界随语言而变化。例如,换行符的语法规则对于所有语言都不相同。要确定BreakIterator类支持哪些语言环境,请按以下方式调用getAvailableLocales方法:

Locale[] locales = BreakIterator.getAvailableLocales();

您可以使用BreakIterator类分析四种边界:字符,单词,句子和潜在的换行符。实例化BreakIterator时,您调用适当的工厂方法:

  • getCharacterInstance

  • getWordInstance

  • getSentenceInstance

  • getLineInstance

BreakIterator的每个实例只能检测一种边界。例如,如果要同时定位字符和单词边界,则可以创建两个单独的实例。

BreakIterator具有一个虚拟的光标,该光标指向文本字符串 中的当前边界。您可以使用previousnext方法在文本中移动此光标。例如,如果您使用getWordInstance创建了BreakIterator,则每次调用next方法时,光标都会移动到文本中的下一个单词边界。光标移动方法返回一个整数,指示边界的位置。该位置是字符在字符串 中沿边界的索引。像字符串 索引一样,边界也是从零开始的。第一个边界为 0,最后一个边界为字符串 的 Long 度。下图显示了一行文本中nextprevious方法检测到的单词边界:

此数字已减少至适合页面大小。
单击图像以其自然尺寸查看.

您只能将BreakIterator类与自然语言文本一起使用。要标记编程语言,请使用StreamTokenizer类。

以下各节提供了每种边界分析的示例。编码示例来自名为BreakIteratorDemo.java的源代码文件。