Límite de Sentencia

En muchos idiomas el terminador de sentencia es un punto. En Inglés, también se utiliza un punto para especificar el separador decimal, para indicar una marca de elipsis, y para terminar abreviaturas. Cómo el punto tiene más de un propósito, no podemos determinar el límite se sentencia con total seguridad.

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.
^              ^                      ^                      ^

Ozito