Primero, echemos un vistazo a un caso en el que si funciona la detección de límite de sentencia. Empezaremos creando un BreakIterator con el método getSentenceInstance:
BreakIterator sentenceIterator =
BreakIterator.getSentenceInstance(currentLocale);
Para demostrar los límites de sentencias, utilizaremos el método
markBoundaries, que se explicó en la sección anterior. El método markBoundaries imprime caracteres ('^') en un string para indicar las posiciones de los límites. En el siguiente ejemplo, los límites de sentencias están definidos apropiadamente:
She stopped. She said, "Hello there," and then went on.
^ ^ ^
También se pueden localizar los límites de sentencias que terminen en interrogaciones o puntos de exaclamación.
He's vanished! What will we do? It's up to us.
^ ^ ^ ^
Utilizar el punto como separador decimal no provoca ningún error:
Please add 1.5 liters to the tank.
^ ^
Una marca de elipsis (puntos suspensivos) indica la omisión de texto dentro de un pasaje entrecomillado. En el siguiente ejemplo los puntos suspensivos generan límites de sentencia:
"No man is an island . . . every man . . . "
^ ^ ^ ^ ^ ^^
Las abreviaturas también podrían provocar errores. Si el punto es seguido por un espacio en blanco y una letra mayúscula, el BreakIterator detecta un límite de sentencia:
My friend, Mr. Jones, has a new dog. The dog's name is Spot.
^ ^ ^ ^