BreakIterator Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
La BreakIterator clase implementa métodos para buscar la ubicación de los límites en el texto.
[Android.Runtime.Register("java/text/BreakIterator", DoNotGenerateAcw=true)]
public abstract class BreakIterator : Java.Lang.Object, IDisposable, Java.Lang.ICloneable
[<Android.Runtime.Register("java/text/BreakIterator", DoNotGenerateAcw=true)>]
type BreakIterator = class
inherit Object
interface ICloneable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Herencia
- Atributos
- Implementaciones
Comentarios
La BreakIterator clase implementa métodos para buscar la ubicación de los límites en el texto. Las instancias de BreakIterator mantener una posición actual y examinar el texto que devuelve el índice de caracteres donde se producen los límites. Internamente, examina el texto mediante yBreakIterator, por tanto, CharacterIterator es capaz de examinar el texto mantenido por cualquier objeto que implemente ese protocolo.
StringCharacterIterator Se usa para examinar String los objetos pasados a setText. El CharacterIterator objeto no debe modificarse después de haber pasado a setText. Si se cambia el texto del CharacterIterator objeto, el autor de la llamada debe restablecer BreakIterator llamando a setText.
Use los métodos de fábrica proporcionados por esta clase para crear instancias de varios tipos de iteradores de interrupción. En concreto, use getWordInstance, getLineInstance, getSentenceInstancey getCharacterInstance para crear BreakIterators que realicen análisis de palabras, líneas, oraciones y límites de caracteres, respectivamente. Un solo BreakIterator puede funcionar solo en una unidad (palabra, línea, oración, etc.). Debe usar un iterador diferente para cada análisis de límites de unidad que desee realizar.
El análisis de límites de línea "line"> determina dónde se puede romper una cadena de texto cuando se ajusta la línea. El mecanismo controla correctamente la puntuación y las palabras con guiones. El salto de línea real también debe tener en cuenta el ancho de línea disponible y lo controla el software de nivel superior.
El análisis de límites de frase "frase"> permite seleccionar con la interpretación correcta de los períodos dentro de números y abreviaturas, así como signos de puntuación finales, como comillas y paréntesis.
"word"> Word análisis de límites se usa mediante funciones de búsqueda y reemplazo, así como en aplicaciones de edición de texto que permiten al usuario seleccionar palabras con un doble clic. Word selección proporciona una interpretación correcta de las marcas de puntuación dentro de y las siguientes palabras. Los caracteres que no forman parte de una palabra, como símbolos o signos de puntuación, tienen saltos de palabra en ambos lados.
El análisis de límites de caracteres "carácter"> permite a los usuarios interactuar con caracteres según lo previsto, por ejemplo, al mover el cursor a través de una cadena de texto. El análisis de límites de caracteres proporciona una navegación correcta a través de cadenas de caracteres, independientemente de cómo se almacene el carácter. Los límites devueltos pueden ser los de caracteres complementarios, combinar secuencias de caracteres o clústeres de ligadura. Por ejemplo, un carácter acentuado se puede almacenar como un carácter base y una marca diacrítica. Lo que los usuarios consideran que es un carácter puede diferir entre idiomas.
Las BreakIterator instancias devueltas por los métodos de fábrica de esta clase están diseñadas para su uso únicamente con lenguajes naturales, no para el texto del lenguaje de programación. Sin embargo, es posible definir subclases que tokenicen un lenguaje de programación.
<ejemplos> seguros</seguros>:
Creación y uso de límites de texto: <blockquote>
public static void main(String args[]) {
if (args.length == 1) {
String stringToExamine = args[0];
//print each word in order
BreakIterator boundary = BreakIterator.getWordInstance();
boundary.setText(stringToExamine);
printEachForward(boundary, stringToExamine);
//print each sentence in reverse order
boundary = BreakIterator.getSentenceInstance(Locale.US);
boundary.setText(stringToExamine);
printEachBackward(boundary, stringToExamine);
printFirst(boundary, stringToExamine);
printLast(boundary, stringToExamine);
}
}
</blockquote>
Imprimir cada elemento en orden: <blockquote>
public static void printEachForward(BreakIterator boundary, String source) {
int start = boundary.first();
for (int end = boundary.next();
end != BreakIterator.DONE;
start = end, end = boundary.next()) {
System.out.println(source.substring(start,end));
}
}
</blockquote>
Imprimir cada elemento en orden inverso: <blockquote>
public static void printEachBackward(BreakIterator boundary, String source) {
int end = boundary.last();
for (int start = boundary.previous();
start != BreakIterator.DONE;
end = start, start = boundary.previous()) {
System.out.println(source.substring(start,end));
}
}
</blockquote>
Imprimir primer elemento: <blockquote>
public static void printFirst(BreakIterator boundary, String source) {
int start = boundary.first();
int end = boundary.next();
System.out.println(source.substring(start,end));
}
</blockquote>
Imprimir último elemento: <blockquote>
public static void printLast(BreakIterator boundary, String source) {
int end = boundary.last();
int start = boundary.previous();
System.out.println(source.substring(start,end));
}
</blockquote>
Imprima el elemento en una posición especificada: <blockquote>
public static void printAt(BreakIterator boundary, int pos, String source) {
int end = boundary.following(pos);
int start = boundary.previous();
System.out.println(source.substring(start,end));
}
</blockquote>
Busque la siguiente palabra: <blockquote>
{@code
public static int nextWordStartAfter(int pos, String text) {
BreakIterator wb = BreakIterator.getWordInstance();
wb.setText(text);
int last = wb.following(pos);
int current = wb.next();
while (current != BreakIterator.DONE) {
for (int p = last; p < current; p++) {
if (Character.isLetter(text.codePointAt(p)))
return last;
}
last = current;
current = wb.next();
}
return BreakIterator.DONE;
}
}
(El iterador devuelto por BreakIterator.getWordInstance() es único en que las posiciones de interrupción que devuelve no representan el inicio y el final de la cosa en iteración. Es decir, un iterador de interrupción de oración devuelve saltos que representan el final de una oración y el principio del siguiente. Con el iterador de salto de palabras, los caracteres entre dos límites pueden ser una palabra, o bien pueden ser la puntuación o el espacio en blanco entre dos palabras. El código anterior usa una heurística simple para determinar qué límite es el principio de una palabra: si los caracteres entre este límite y el siguiente límite incluyen al menos una letra (puede ser una letra alfabética, un ideograma CJK, un carácter Kana, etc.), el texto entre este límite y la siguiente es una palabra; de lo contrario, es el material entre palabras). </blockquote>
Agregado en la versión 1.1.
Java documentación para java.text.BreakIterator.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Constructores
| Nombre | Description |
|---|---|
| BreakIterator() |
Constructor. |
| BreakIterator(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución. |
Campos
| Nombre | Description |
|---|---|
| Done |
DONE lo devuelve previous(), next(), next(), next(int), previous(int) y following(int) cuando se ha alcanzado el primer o último límite de texto. |
Propiedades
| Nombre | Description |
|---|---|
| CharacterInstance |
Devuelve una nueva |
| Class |
Devuelve la clase en tiempo de ejecución de este |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| JniIdentityHashCode |
Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| JniManagedPeerState |
La |
| JniPeerMembers |
La |
| LineInstance |
Devuelve una nueva |
| PeerReference |
Obtiene la referencia de objeto JNI para este Java del mismo nivel. (Heredado de Object) |
| SentenceInstance |
Devuelve una nueva |
| Text |
Devuelve un objeto |
| ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
| ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
| WordInstance |
Devuelve una nueva |
Métodos
| Nombre | Description |
|---|---|
| Clone() |
Crear una copia de este iterador |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
La |
| Current() |
Devuelve el índice de caracteres del límite de texto que devolvió más recientemente next(), next(int), previous(), first(), last(), following(int) o previous(int). |
| Dispose() |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Dispose(Boolean) |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| DisposeUnlessReferenced() |
La |
| Equals(Object) |
La |
| Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
| First() |
Devuelve el primer límite. |
| Following(Int32) |
Devuelve el primer límite después del desplazamiento de caracteres especificado. |
| GetAvailableLocales() |
Devuelve una matriz de todas las configuraciones regionales para las que los |
| GetCharacterInstance(Locale) |
Devuelve una nueva |
| GetHashCode() |
Devuelve un valor de código hash para el objeto . (Heredado de Object) |
| GetLineInstance(Locale) |
Devuelve una nueva |
| GetSentenceInstance(Locale) |
Devuelve una nueva |
| GetWordInstance(Locale) |
Devuelve una nueva |
| IsBoundary(Int32) |
Devuelve true si el desplazamiento de caracteres especificado es un límite de texto. |
| JavaFinalize() |
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
| Last() |
Devuelve el último límite. |
| Next() |
Devuelve el límite que sigue al límite actual. |
| Next(Int32) |
Devuelve el nº límite del límite actual. |
| Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
| NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
| Preceding(Int32) |
Devuelve el último límite que precede al desplazamiento de caracteres especificado. |
| Previous() |
Devuelve el límite anterior al límite actual. |
| SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
La |
| SetText(String) |
Establezca una nueva cadena de texto que se va a examinar. |
| ToArray<T>() |
Crea una matriz administrada a partir de este contenedor de matriz Java. (Heredado de Object) |
| ToString() |
Devuelve una representación de cadena del objeto . (Heredado de Object) |
| UnregisterFromRuntime() |
Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| Wait() |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><> (Heredado de Object) |
| Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
| Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IJavaPeerable.Disposed() |
La |
| IJavaPeerable.Finalized() |
La |
| IJavaPeerable.JniObjectReferenceControlBlock |
La |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
La |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
La |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
La |
| IJavaPeerable.UnregisterFromRuntime() |
La |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
La |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |