BreakIterator Clase

Definición

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
BreakIterator
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 BreakIterator instancia de para saltos de caracteres para la configuración regional predeterminada Locale#getDefault().

Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
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 BreakIterator clase implementa métodos para buscar la ubicación de los límites en el texto.

(Heredado de JavaObject)
JniPeerMembers

La BreakIterator clase implementa métodos para buscar la ubicación de los límites en el texto.

LineInstance

Devuelve una nueva BreakIterator instancia de saltos de línea para la configuración regional predeterminada Locale#getDefault().

PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(Heredado de Object)
SentenceInstance

Devuelve una nueva BreakIterator instancia de para los saltos de oración para la configuración regional predeterminada Locale#getDefault().

Text

Devuelve un objeto CharacterIterator que representa el texto que se va a analizar.

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 BreakIterator instancia de saltos de palabra para la configuración regional predeterminada Locale#getDefault().

Métodos

Nombre Description
Clone()

Crear una copia de este iterador

Construct(JniObjectReference, JniObjectReferenceOptions)

La BreakIterator clase implementa métodos para buscar la ubicación de los límites en el texto.

(Heredado de JavaObject)
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 BreakIterator clase implementa métodos para buscar la ubicación de los límites en el texto.

(Heredado de JavaObject)
Equals(Object)

La BreakIterator clase implementa métodos para buscar la ubicación de los límites en el texto.

(Heredado de JavaObject)
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 get*Instance métodos de esta clase pueden devolver instancias localizadas.

GetCharacterInstance(Locale)

Devuelve una nueva BreakIterator instancia de para los saltos de caracteres de la configuración regional especificada.

GetHashCode()

Devuelve un valor de código hash para el objeto .

(Heredado de Object)
GetLineInstance(Locale)

Devuelve una nueva BreakIterator instancia de saltos de línea para la configuración regional especificada.

GetSentenceInstance(Locale)

Devuelve una nueva BreakIterator instancia de para los saltos de oración de la configuración regional especificada.

GetWordInstance(Locale)

Devuelve una nueva BreakIterator instancia de saltos de palabra para la configuración regional especificada.

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 BreakIterator clase implementa métodos para buscar la ubicación de los límites en el texto.

(Heredado de JavaObject)
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 BreakIterator clase implementa métodos para buscar la ubicación de los límites en el texto.

(Heredado de JavaObject)
IJavaPeerable.Finalized()

La BreakIterator clase implementa métodos para buscar la ubicación de los límites en el texto.

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

La BreakIterator clase implementa métodos para buscar la ubicación de los límites en el texto.

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

La BreakIterator clase implementa métodos para buscar la ubicación de los límites en el texto.

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

La BreakIterator clase implementa métodos para buscar la ubicación de los límites en el texto.

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

La BreakIterator clase implementa métodos para buscar la ubicación de los límites en el texto.

(Heredado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

La BreakIterator clase implementa métodos para buscar la ubicación de los límites en el texto.

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

La BreakIterator clase implementa métodos para buscar la ubicación de los límites en el texto.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a