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