Langue

BreakIterator Classe

Définition

<strong>[icu enhancement]</strong> ICU remplacement de l’ICU pour java.text.BreakIterator.

[Android.Runtime.Register("android/icu/text/BreakIterator", ApiSince=24, DoNotGenerateAcw=true)]
public abstract class BreakIterator : Java.Lang.Object, IDisposable, Java.Lang.ICloneable
[<Android.Runtime.Register("android/icu/text/BreakIterator", ApiSince=24, DoNotGenerateAcw=true)>]
type BreakIterator = class
    inherit Object
    interface ICloneable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Héritage
BreakIterator
Attributs
Implémente

Remarques

<strong>[icu enhancement]</strong> ICU’s replacement for java.text.BreakIterator.  ; Les méthodes, les champs et d’autres fonctionnalités spécifiques à l’ICU sont étiquetées «< strong>[icu]</strong> ».

Classe qui localise les limites dans le texte. Cette classe définit un protocole pour les objets qui décomposent un élément de texte en langage naturel en fonction d’un ensemble de critères. Les instances ou sous-classes de BreakIterator peuvent être fournies, par exemple, pour décomposer un texte en mots, phrases ou caractères logiques en fonction des conventions de certaines langues ou de certains groupes de langues.

Nous fournissons cinq types intégrés de BreakIterator : <ul><li>getTitleInstance() retourne un BreakIterator qui localise les limites entre les sauts de titre. <li>getSentenceInstance() retourne un BreakIterator qui localise les limites entre les phrases. Cela est utile pour la sélection en triple-clic, par exemple. <li>getWordInstance() retourne un BreakIterator qui localise les limites entre les mots. Cela est utile pour la sélection en double-clic ou pour rechercher des mots entiers. Ce type de BreakIterator s’assure qu’il existe une position de limite au début et à la fin de chaque mot juridique. (Nombres comptent en tant que mots, aussi.) Les espaces blancs et la ponctuation sont séparés des mots réels. <li>getLineInstance() retourne un BreakIterator qui localise les positions où il est légal pour un éditeur de texte d’encapsuler des lignes. Ceci est similaire à la rupture de mot, mais pas identique : la ponctuation et les espaces blancs sont généralement conservés avec des mots (vous ne souhaitez pas qu’une ligne commence par un espace blanc, par exemple), et certains caractères spéciaux peuvent forcer une position à considérer comme une position de saut de ligne ou empêcher une position d’être une position de saut de ligne. <li>getCharacterInstance() retourne un BreakIterator qui localise les limites entre les caractères logiques. En raison de la structure de l’encodage Unicode, un caractère logique peut être stocké en interne sous la forme de plusieurs points de code Unicode. (Un avec un umlaut peut être stocké sous la forme d’un suivi d’un caractère umlaut séparé, par exemple, mais l’utilisateur pense toujours qu’il s’agit d’un caractère.) Cet itérateur permet à divers processus (en particulier les éditeurs de texte) de traiter comme des caractères les unités de texte qu’un utilisateur considérerait comme des caractères, plutôt que les unités de texte que l’ordinateur voit comme « caractères ».</ul> Les positions des limites de texte sont trouvées en fonction des règles décrites dans l’annexe standard Unicode #29, les limites de texte et l’annexe standard Unicode #14, propriétés de rupture de ligne. Ceux-ci sont disponibles à l’adresse http://www.unicode.org/reports/tr14/ et http://www.unicode.org/reports/tr29/.

L’interface de BreakIterator suit un modèle « itérateur » (par conséquent, le nom), ce qui signifie qu’il a un concept de « position actuelle » et de méthodes comme first(), last(), next() et previous() qui mettent à jour la position actuelle. Tous les BreakIterators respectent les invariants suivants : <ul><li>Le début et la fin du texte sont toujours traités comme des positions de limite. <li>La position actuelle de l’itérateur est toujours une position de limite (les méthodes d’accès aléatoire déplacent l’itérateur vers la position de limite la plus proche avant ou après la position spécifiée, et non vers la position spécifiée). <li>DONE est utilisé comme indicateur pour indiquer quand l’itération s’est arrêtée. DONE est retourné uniquement lorsque la position actuelle est la fin du texte et que l’utilisateur appelle suivant(), ou lorsque la position actuelle est le début du texte et que l’utilisateur appelle précédent(). <les positions li>Break sont numérotées par les positions des caractères qui les suivent. Ainsi, dans des circonstances normales, la position avant le premier caractère est 0, la position après le premier caractère est 1 et la position après le dernier caractère est 1 plus la longueur de la chaîne. <li>Le client peut modifier la position d’un itérateur, ou le texte qu’il analyse, à la volonté, mais ne peut pas modifier le comportement. Si l’utilisateur souhaite un comportement différent, il doit instancier un nouvel itérateur.</ul>

BreakIterator accède au texte qu’il analyse par le biais d’un CharacterIterator, ce qui permet d’utiliser BreakIterator pour analyser du texte dans n’importe quel véhicule de stockage de texte qui fournit une interface CharacterIterator.

<b>Remarque :</b> Certains types de BreakIterator peuvent prendre beaucoup de temps pour créer, et les instances de BreakIterator ne sont pas actuellement mises en cache par le système. Pour des performances optimales, conservez les instances de BreakIterator tant que cela est judicieux. Par exemple, lors de l’habillage de mots d’un document, ne créez pas et détruisez un nouvel analyseur breakiterator pour chaque ligne. Créez un itérateur d’arrêt pour l’ensemble du document (ou quel que soit l’étendue du texte que vous encapsulez) et utilisez-le pour effectuer tout le travail d’habillage du texte.

<exemples forts/forts>< :>

Création et utilisation d’un blocquote de limites <de texte>

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>

Imprimer chaque élément dans l’ordre <des blocs>

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>

Imprimer chaque élément dans un blocquote d’ordre <inverse>

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>

Imprimer le blocquote d’un premier élément <>

public static void printFirst(BreakIterator boundary, String source) {
                int start = boundary.first();
                int end = boundary.next();
                System.out.println(source.substring(start,end));
            }

</blockquote>

Print last element <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>

Imprimer l’élément à une position <spécifiée en blocquote>

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>

Rechercher le mot <suivant blockquote>

public static int nextWordStartAfter(int pos, String text) {
                BreakIterator wb = BreakIterator.getWordInstance();
                wb.setText(text);
                int wordStart = wb.following(pos);
                for (;;) {
                    int wordLimit = wb.next();
                    if (wordLimit == BreakIterator.DONE) {
                        return BreakIterator.DONE;
                    }
                    int wordStatus = wb.getRuleStatus();
                    if (wordStatus != BreakIterator.WORD_NONE) {
                        return wordStart;
                    }
                    wordStart = wordLimit;
                 }
            }

L’itérateur retourné par #getWordInstance est unique dans le fait que les positions d’arrêt qu’il retourne ne représentent pas à la fois le début et la fin de la chose en cours d’itération. Autrement dit, un itérateur de saut de phrase retourne des sauts qui représentent chacun la fin d’une phrase et le début de la suivante. Avec l’itérateur de saut de mot, les caractères entre deux limites peuvent être un mot, ou il peut s’agir de la ponctuation ou de l’espace blanc entre deux mots. Le code ci-dessus utilise #getRuleStatus pour identifier et ignorer les limites associées à la ponctuation ou à d’autres caractères non word. </blockquote>

Java documentation pour android.icu.text.BreakIterator.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Constructeurs

Nom Description
BreakIterator()

Constructeur par défaut.

BreakIterator(IntPtr, JniHandleOwnership)

<strong>[icu enhancement]</strong> ICU remplacement de l’ICU pour java.text.BreakIterator.

Champs

Nom Description
Done

DONE est retourné par previous() et next() une fois que toutes les limites valides ont été retournées.

KindCharacter
Obsolète.

<strong>[icu]</strong>

KindLine
Obsolète.

<strong>[icu]</strong>

KindSentence
Obsolète.

<strong>[icu]</strong>

KindTitle

<strong>[icu]</strong>

KindWord
Obsolète.

<strong>[icu]</strong>

WordIdeo
Obsolète.

Valeur de balise pour les mots contenant des caractères idéographiques, limite inférieure

WordIdeoLimit
Obsolète.

Valeur de balise pour les mots contenant des caractères idéographiques, limite supérieure

WordKana
Obsolète.

Valeur de balise pour les mots contenant des caractères kana, limite inférieure

WordKanaLimit
Obsolète.

Valeur de balise pour les mots contenant des caractères kana, limite supérieure

WordLetter
Obsolète.

Valeur de balise pour les mots qui contiennent des lettres, à l’exclusion de caractères hiragana, katakana ou idéographiques, limite inférieure.

WordLetterLimit
Obsolète.

Valeur de balise pour les mots contenant des lettres, limite supérieure

WordNone
Obsolète.

Valeur de balise pour « mots » qui ne correspondent à aucune des autres catégories.

WordNoneLimit
Obsolète.

Limite supérieure pour les balises pour les mots non catégorisés.

WordNumber
Obsolète.

Valeur de balise pour les mots qui semblent être des nombres, limite inférieure.

WordNumberLimit
Obsolète.

Valeur de balise pour les mots qui semblent être des nombres, limite supérieure.

Propriétés

Nom Description
CharacterInstance

Retourne une nouvelle instance de BreakIterator qui localise les limites de caractères logiques.

Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
JniIdentityHashCode

Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité.

(Hérité de Object)
JniManagedPeerState

<strong>[icu enhancement]</strong> ICU remplacement de l’ICU pour java.text.BreakIterator.

(Hérité de JavaObject)
JniPeerMembers

<strong>[icu enhancement]</strong> ICU remplacement de l’ICU pour java.text.BreakIterator.

LineInstance

Retourne une nouvelle instance de BreakIterator qui localise les positions d’encapsulage de ligne légale.

PeerReference

Obtient la référence d’objet JNI pour cet homologue Java.

(Hérité de Object)
RuleStatus

Pour RuleBasedBreakIterators, retournez la balise d’état de la règle d’arrêt qui a déterminé la limite à la position d’itération actuelle.

SentenceInstance

Retourne une nouvelle instance de BreakIterator qui localise les limites de phrase.

Text

Retourne un CharacterIterator sur le texte en cours d’analyse.

ThresholdClass

<strong>[icu enhancement]</strong> ICU remplacement de l’ICU pour java.text.BreakIterator.

ThresholdType

<strong>[icu enhancement]</strong> ICU remplacement de l’ICU pour java.text.BreakIterator.

TitleInstance

<strong>[icu]</strong> Renvoie une nouvelle instance de BreakIterator qui localise les limites de titre.

WordInstance

Retourne une nouvelle instance de BreakIterator qui localise les limites de mots.

Méthodes

Nom Description
Clone()

Cloner la méthode.

Construct(JniObjectReference, JniObjectReferenceOptions)

<strong>[icu enhancement]</strong> ICU remplacement de l’ICU pour java.text.BreakIterator.

(Hérité de JavaObject)
Current()

Retourne la position actuelle de l’itérateur.

Dispose()

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
Dispose(Boolean)

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
DisposeUnlessReferenced()

<strong>[icu enhancement]</strong> ICU remplacement de l’ICU pour java.text.BreakIterator.

(Hérité de JavaObject)
Equals(Object)

<strong>[icu enhancement]</strong> ICU remplacement de l’ICU pour java.text.BreakIterator.

(Hérité de JavaObject)
Equals(Object)

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
First()

Définissez l’itérateur sur la première position de limite.

Following(Int32)

Définit la position d’itération actuelle de l’itérateur comme étant la première position de limite après la position spécifiée.

GetAvailableLocales()

Retourne une liste de paramètres régionaux pour lesquels les BreakIterators peuvent être utilisés.

GetCharacterInstance(Locale)

Retourne une nouvelle instance de BreakIterator qui localise les limites de caractères logiques.

GetCharacterInstance(ULocale)

<strong>[icu]</strong> Renvoie une nouvelle instance de BreakIterator qui localise les limites de caractères logiques.

GetHashCode()

Retourne une valeur de code de hachage pour l’objet.

(Hérité de Object)
GetLineInstance(Locale)

Retourne une nouvelle instance de BreakIterator qui localise les positions d’encapsulage de ligne légale.

GetLineInstance(ULocale)

<strong>[icu]</strong> Renvoie une nouvelle instance de BreakIterator qui localise les positions de ligne juridique- wrapping.

GetRuleStatusVec(Int32[])

Pour RuleBasedBreakIterators, obtenez les valeurs d’état (balise) de la ou des règles d’arrêt qui ont déterminé la limite à la position d’itération actuelle.

GetSentenceInstance(Locale)

Retourne une nouvelle instance de BreakIterator qui localise les limites de phrase.

GetSentenceInstance(ULocale)

<strong>[icu]</strong> Renvoie une nouvelle instance de BreakIterator qui localise les limites de phrase.

GetTitleInstance(Locale)

<strong>[icu]</strong> Renvoie une nouvelle instance de BreakIterator qui localise les limites de titre.

GetTitleInstance(ULocale)

<strong>[icu]</strong> Renvoie une nouvelle instance de BreakIterator qui localise les limites de titre.

GetWordInstance(Locale)

Retourne une nouvelle instance de BreakIterator qui localise les limites de mots.

GetWordInstance(ULocale)

<strong>[icu]</strong> Renvoie une nouvelle instance de BreakIterator qui localise les limites de mots.

IsBoundary(Int32)

Retourne la valeur true si la position spécifiée est une position de limite.

JavaFinalize()

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
Last()

Définissez l’itérateur sur la dernière position de limite.

Next()

Avance l’itérateur vers l’avant une limite.

Next(Int32)

Déplacez l’itérateur par le nombre spécifié d’étapes dans le texte.

Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

(Hérité de Object)
Preceding(Int32)

Définit la position d’itération actuelle de l’itérateur comme étant la dernière position de limite précédant la position spécifiée.

Previous()

Déplacez l’itérateur vers l’arrière d’une limite.

SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

<strong>[icu enhancement]</strong> ICU remplacement de l’ICU pour java.text.BreakIterator.

(Hérité de JavaObject)
SetText(ICharSequence)

Définit l’itérateur pour analyser un nouvel élément de texte.

SetText(String)

Définit l’itérateur pour analyser un nouvel élément de texte.

ToArray<T>()

Crée un tableau managé à partir de ce wrapper de tableau Java.

(Hérité de Object)
ToString()

Retourne une représentation sous forme de chaîne de l’objet.

(Hérité de Object)
UnregisterFromRuntime()

Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité.

(Hérité de Object)
Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)

Implémentations d’interfaces explicites

Nom Description
IJavaPeerable.Disposed()

<strong>[icu enhancement]</strong> ICU remplacement de l’ICU pour java.text.BreakIterator.

(Hérité de JavaObject)
IJavaPeerable.Finalized()

<strong>[icu enhancement]</strong> ICU remplacement de l’ICU pour java.text.BreakIterator.

(Hérité de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

<strong>[icu enhancement]</strong> ICU remplacement de l’ICU pour java.text.BreakIterator.

(Hérité de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

<strong>[icu enhancement]</strong> ICU remplacement de l’ICU pour java.text.BreakIterator.

(Hérité de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

<strong>[icu enhancement]</strong> ICU remplacement de l’ICU pour java.text.BreakIterator.

(Hérité de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

<strong>[icu enhancement]</strong> ICU remplacement de l’ICU pour java.text.BreakIterator.

(Hérité de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

<strong>[icu enhancement]</strong> ICU remplacement de l’ICU pour java.text.BreakIterator.

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

<strong>[icu enhancement]</strong> ICU remplacement de l’ICU pour java.text.BreakIterator.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à