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.Interop.IJavaPeerable, 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 yCharacterIterator, por tanto, BreakIterator 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 se debe modificar 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 realizan análisis de límites de palabras, líneas, oraciones y caracteres, respectivamente. Un solo BreakIterator puede funcionar solo en una unidad (palabra, línea, frase, 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 se controla mediante software de nivel superior.

El análisis de límites de frase "oración"> permite la selección con interpretación correcta de puntos dentro de números y abreviaturas, así como signos de puntuación finales, como comillas y paréntesis.

> Las funciones de búsqueda y reemplazo usan Word análisis de límites, así como en las 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 ser un carácter pueden diferir entre idiomas.

Las BreakIterator instancias devueltas por los métodos de fábrica de esta clase están diseñadas solo para su uso con lenguajes naturales, no para texto de lenguaje de programación. Sin embargo, es posible definir subclases que tokenicen un lenguaje de programación.

<ejemplos< fuertes>/fuertes>:

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>

Imprima 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>

Imprima 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 salto de oración devuelve saltos que cada uno representa el final de una oración y el principio de la 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 ideógrafo de CJK, un sillable de Hangul, un carácter Kana, etc.), el texto entre este límite y el siguiente es una palabra; de lo contrario, es el material entre palabras). </Blockquote>

Se agregó en la versión 1.1.

Documentación de Java para java.text.BreakIterator.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código y se usan según los términos descritos en la creative Commons 2.5.

Constructores

BreakIterator()

Constructor.

BreakIterator(IntPtr, JniHandleOwnership)

Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el entorno de ejecución.

Campos

Done

DONE lo devuelve previous(), next(), next(int), previous(int) y following(int) cuando se ha alcanzado el primer o último límite de texto.

Propiedades

CharacterInstance

Devuelve una nueva BreakIterator instancia de saltos de caracteres para la configuración regional predeterminada local#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

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

(Heredado de Object)
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 local#getDefault().

PeerReference

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

(Heredado de Object)
SentenceInstance

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

Text

Devuelve un CharacterIterator objeto que representa el texto que se está analizando.

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 local#getDefault().

Métodos

Clone()

Crear una copia de este iterador

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()

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

(Heredado de Object)
Dispose(Boolean)

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

(Heredado de Object)
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 para saltos de caracteres para la configuración regional determinada.

GetHashCode()

Devuelve un valor de código hash del objeto.

(Heredado de Object)
GetLineInstance(Locale)

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

GetSentenceInstance(Locale)

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

GetWordInstance(Locale)

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

IsBoundary(Int32)

Devuelve true si el desplazamiento de caracteres especificado es un límite de texto.

JavaFinalize()

Llamado por 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 límite nésimo 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)
SetText(String)

Establezca una nueva cadena de texto que se va a examinar.

ToArray<T>()

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

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto.

(Heredado de Object)
UnregisterFromRuntime()

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

(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)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <notificado<>/em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <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

IJavaPeerable.Disposed()

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

(Heredado de Object)
IJavaPeerable.DisposeUnlessReferenced()

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

(Heredado de Object)
IJavaPeerable.Finalized()

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

(Heredado de Object)
IJavaPeerable.JniManagedPeerState

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

(Heredado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

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

(Heredado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

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

(Heredado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

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

(Heredado de Object)

Métodos de extensión

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.

GetJniTypeName(IJavaPeerable)

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

Se aplica a