|
Spec-Zone .ru
спецификации, руководства, описания, API
|
BreakIterator class чувствителен к локали, потому что текстовые границы меняются в зависимости от языка. Например, правила синтаксиса для разрывов строки не являются тем же самым для всех языков. Определить который локали BreakIterator class поддерживает, вызовите getAvailableLocales метод, следующим образом:
Locale[] locales = BreakIterator.getAvailableLocales();
Можно проанализировать четыре вида границ с BreakIterator class: символ, слово, предложение, и потенциальный разрыв строки. Инстанцируя a BreakIterator, Вы вызываете соответствующий метод фабрики:
getCharacterInstancegetWordInstancegetSentenceInstancegetLineInstanceКаждый экземпляр BreakIterator может обнаружить только один тип границы. Если Вы хотите определить местоположение и символа и границ слова, например, Вы создаете два отдельных экземпляра.
A BreakIterator имеет воображаемый курсор, который указывает на текущую границу в строке текста. Можно переместить этот курсор в пределах текста с previous и next методы. Например, если Вы создали a BreakIterator с getWordInstance, курсор перемещается в следующую границу слова в тексте каждый раз, когда Вы вызываете next метод. Методы перемещения курсора возвращают целое число, указывающее на позицию границы. Эта позиция является индексированием символа в текстовой строке, которая следовала бы за границей. Как строка индексирует, границы основаны на нуле. Первая граница в 0, и последняя граница является длиной строки. Следующие данные показывают границы слова, обнаруженные next и previous методы в строке текста:

Следует использовать BreakIterator class только с текстом естественного языка. Чтобы маркировать язык программирования, используйте StreamTokenizer class.
Разделы, которые следуют, дают примеры для каждого типа граничного анализа. Примеры кодирования от названного файла исходного кода BreakIteratorDemo.java.