## Sobre la clase BreakIterator

La clase BreakIterator es sensible a la Localidad, porque los límites de texto pueden variar con el idioma. Por ejemplo, la reglas para ruptura de líneas no son las mismas para todos los idiomas. Para determinar las Localidades soportadas por la clase BreakIterator se llama al método getAvailableLocales:

    Locale[] locales = BreakIterator.getAvailableLocales();

Se pueden analizar cuatro tipos diferentes de límites con la clase BreakIterator: caracter, palabra, párrafo y ruptura potencial de línea. Cuande se ejemplariza un BreakIterator, se debe llamar al método de creacción apropiado:

- getCharacterInstance
- getWordInstance
- getSentenceInstance
- getLineInstance

Cada ejemplar de BreakIterator sólo puede detectar un tipo de límite. Si se quiere localizar el límite de caracter y de palabra, por ejemplo, se necesitará crear dos ejemplares separados.

Un BreakIterator tiene un cursor imaginario que apunta al límite actual en una cadena de texto. Se puede mover este cursor dentro del texto con los métodos previous y next. Por ejemplo, si hemos creado un BreakIterator con getWordInstance, cada vez que llamemos al método next el cursor de moverá al siguiente límite de palabra dentro del texto. Los métodos de movimiento del cursor devuelven un entero indicando la posición del límite. Esta posición es el índice del caracter de la cadena de texto que sigue al límite. Al igual que los Strings indexados, los límites están basados en cero. El primer límite es el 0, y el último límite es la longitud de la cadena.

Se debería utilizar la clase BreakIterator sólo con texto natural. No se debe utilizar con lenguajes de programación.

En las siguientes secciones, proporcionaremos ejemplos de cada tipo de límite. Los ejemplos de código se han extraido de un fichero llamado BreakIteratorDemo.java.

Ozito