StringSearch Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
StringSearch ist eine SearchIterator Funktion, die sprachabhängige Textsuche basierend auf den in einem RuleBasedCollator Objekt definierten Vergleichsregeln bereitstellt.
[Android.Runtime.Register("android/icu/text/StringSearch", ApiSince=24, DoNotGenerateAcw=true)]
public sealed class StringSearch : Android.Icu.Text.SearchIterator
[<Android.Runtime.Register("android/icu/text/StringSearch", ApiSince=24, DoNotGenerateAcw=true)>]
type StringSearch = class
inherit SearchIterator
- Vererbung
- Attribute
Hinweise
StringSearch ist eine SearchIterator Funktion, die sprachabhängige Textsuche basierend auf den in einem RuleBasedCollator Objekt definierten Vergleichsregeln bereitstellt. StringSearch stellt sicher, dass die Exzentrizität der Sprache behandelt werden kann, z. B. für die deutsche Sortierer, Zeichen ß und SS wird abgeglichen, wenn die Groß-/Kleinschreibung ignoriert wird. Weitere Informationen finden Sie im "ICU Sortation Design Document" .
Es gibt zwei Übereinstimmungsoptionen für selection:<br> Let S' ist die Unterzeichenfolge einer Textzeichenfolge S zwischen dem Offsets Start und Ende [Start, Ende]. <Br> A-Musterzeichenfolge P entspricht einer Textzeichenfolge S an den Offsets [Start, Ende] wenn
option 1. Some canonical equivalent of P matches some canonical equivalent
of S'
option 2. P matches S' and if P starts or ends with a combining mark,
there exists no non-ignorable combining mark before or after S?
in S respectively.
Option 2. ist der Standardwert.
Diese Suche weist APIs auf, die mit anderen Text iterationsmechanismen vergleichbar sind, z. B. die Unterbrechungs iteratoren in BreakIterator. Mithilfe dieser APIs ist es einfach, textsuche nach allen Vorkommen eines bestimmten Musters zu durchsuchen. Dieser Such-Iterator ermöglicht das Ändern der Richtung durch Aufrufen eines #reset gefolgten oder #previous.#next Obwohl eine Richtungsänderung erfolgen kann, ohne zuerst aufzurufen #reset , hat dieser Vorgang eine gewisse Geschwindigkeitsstrafe. Übereinstimmungsergebnisse in Vorwärtsrichtung entsprechen den Ergebnisergebnissen in richtung rückwärts in umgekehrter Reihenfolge.
SearchIteratorstellt APIs bereit, um die Startposition innerhalb der zu durchsuchenden Textzeichenfolge anzugeben, z. B. SearchIterator#setIndex setIndexSearchIterator#preceding preceding und SearchIterator#following following. Da die Startposition wie angegeben festgelegt wird, beachten Sie bitte, dass es einige Gefahrenpunkte gibt, an denen die Suche falsche Ergebnisse rendert: <ul><li> Inmitten einer Teilzeichenfolge, die Normalisierung erfordert.
<li> Wenn die folgende Übereinstimmung gefunden werden soll, sollte die Position nicht das zweite Zeichen sein, das einen Tausch mit dem vorhergehenden Zeichen erfordert. Wenn die vorherige Übereinstimmung gefunden werden soll, sollte die position, aus der gesucht werden soll, nicht das erste Zeichen sein, für das ein Tausch mit dem nächsten Zeichen erforderlich ist. Für bestimmte Thailändische und Lao-Zeichen ist z. B. ein Tausch erforderlich.
<li> Wenn eine folgende Musterabgleichung gefunden werden soll, schlägt jede Position innerhalb einer Vertragssequenz fehl, mit ausnahme der ersten. Umgekehrt, wenn eine vorherige Mustervergleich gefunden werden soll, wäre ein ungültiger Ausgangspunkt ein beliebiges Zeichen innerhalb einer Vertragssequenz mit Ausnahme der letzten.
</ul>
A BreakIterator kann verwendet werden, wenn nur Übereinstimmungen bei logischen Umbrüchen gewünscht werden. Wenn Sie eine BreakIterator Anwendung verwenden, erhalten Sie nur Ergebnisse, die genau den Grenzen entsprechen, die durch die BreakIterator. Beispielsweise wird das Muster "e" nicht in der Zeichenfolge "\u00e9" gefunden, wenn ein Zeichentrennungs-Iterator verwendet wird.
Es werden Optionen zum Behandeln überlappender Übereinstimmungen bereitgestellt. In Englisch erzeugt überlappende Übereinstimmungen das Ergebnis 0 und 2 für das Muster "abab" im Text "abab", wobei sich gegenseitig ausschließende Übereinstimmungen nur das Ergebnis von 0 erzeugen.
Optionen werden auch bereitgestellt, um "asymmetrische Suche" zu implementieren, wie in UTS #10 Unicode Collation Algorithm beschrieben, insbesondere die ElementComparisonType-Werte.
Obwohl Sortierattribute beim Ausführen von Übereinstimmungen berücksichtigt werden, gibt es hier keine APIs zum Festlegen und Abrufen der Attribute. Diese Attribute können festgelegt werden, indem sie die Sortierer von #getCollator den APIs in RuleBasedCollatorabrufen und verwenden. Zum Schluss muss die Aktualisierung StringSearch der neuen Sortierattribute #reset aufgerufen werden.
Einschränkung: <Br> Gibt es derzeit keine zusammengesetzten Zeichen, die aus einem Zeichen mit der Kombination von Klasse > 0 vor einem Zeichen mit der kombinierten Klasse == 0 bestehen. Wenn ein solches Zeichen in Zukunft vorhanden ist, StringSearch garantiert dies jedoch nicht die Ergebnisse für Option 1.
In der SearchIterator Dokumentation finden Sie Informationen und Beispiele für die Verwendung von Instanzen dieser Klasse zum Implementieren der Textsuche.
Beachten Sie, StringSearch dass sie nicht unterklassigt werden sollen.
Java Dokumentation für android.icu.text.StringSearch.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Konstruktoren
| Name | Beschreibung |
|---|---|
| StringSearch(String, ICharacterIterator, Locale) |
Initialisiert den Iterator, um die sprachspezifischen Regeln zu verwenden und iteratorregeln zu unterbrechen, die im Argumentgebietsschema definiert sind, um im Argumentzieltext nach Argumentmustern zu suchen. |
| StringSearch(String, ICharacterIterator, RuleBasedCollator, BreakIterator) |
Initialisiert den Iterator, um die sprachspezifischen Regeln zu verwenden, die im Argumentsortierer definiert sind, um im Argumentzieltext nach Argumentmustern zu suchen. |
| StringSearch(String, ICharacterIterator, RuleBasedCollator) |
Initialisiert den Iterator, um die sprachspezifischen Regeln zu verwenden, die im Argumentsortierer definiert sind, um im Argumentzieltext nach Argumentmustern zu suchen. |
| StringSearch(String, ICharacterIterator, ULocale) |
Initialisiert den Iterator, um die sprachspezifischen Regeln zu verwenden und iteratorregeln zu unterbrechen, die im Argumentgebietsschema definiert sind, um im Argumentzieltext nach Argumentmustern zu suchen. |
| StringSearch(String, String) |
Initialisiert den Iterator, um die sprachspezifischen Regeln zu verwenden und iteratorregeln zu unterbrechen, die im Standardgebietsschema definiert sind, um im Argumentzieltext nach Argumentmustern zu suchen. |
Felder
| Name | Beschreibung |
|---|---|
| Done |
DONE wird von previous() und next() zurückgegeben, nachdem alle gültigen Übereinstimmungen zurückgegeben wurden, und nach first() und last(), wenn überhaupt keine Übereinstimmungen vorhanden sind. (Geerbt von SearchIterator) |
Eigenschaften
| Name | Beschreibung |
|---|---|
| BreakIterator |
Gibt den BreakIterator zurück, der zum Einschränken der Indizes verwendet wird, an denen Übereinstimmungen erkannt werden. -oder- Legen Sie den BreakIterator fest, der verwendet wird, um die Punkte einzuschränken, an denen Übereinstimmungen erkannt werden. (Geerbt von SearchIterator) |
| Canonical |
Bestimmt, ob kanonische Übereinstimmungen (Option 1, wie in der Klassendokumentation beschrieben) festgelegt sind. -oder- Legen Sie den kanonischen Übereinstimmungsmodus fest. |
| Class |
Gibt die Laufzeitklasse dieses Werts |
| Collator |
Ruft die |
| Handle |
Das Handle für die zugrunde liegende Android-Instanz. (Geerbt von Object) |
| Index |
Soll hinzugefügt werden |
| JniIdentityHashCode |
|
| JniPeerMembers |
|
| MatchedText |
Gibt den Text zurück, der mit dem letzten Aufruf von |
| MatchLength |
Gibt die Textlänge in der Zeichenfolge zurück, die dem Suchmuster entspricht. (Geerbt von SearchIterator) |
| MatchStart |
Gibt den Index an die Übereinstimmung in der gesuchten Textzeichenfolge zurück. (Geerbt von SearchIterator) |
| Overlapping |
Gibt true zurück, wenn die überlappende Eigenschaft festgelegt wurde. - oder- Bestimmt, ob überlappende Übereinstimmungen zurückgegeben werden. (Geerbt von SearchIterator) |
| Pattern |
Gibt das Muster zurück, nach dem |
| PeerReference |
|
| Target |
Gibt den zu durchsuchenden Zeichenfolgentext zurück. - oder- Legen Sie den Zieltext fest, der durchsucht werden soll. (Geerbt von SearchIterator) |
| TargetText |
Zieltext für die Suche. (Geerbt von SearchIterator) |
| ThresholdClass |
|
| ThresholdType |
|
Methoden
| Name | Beschreibung |
|---|---|
| Clone() |
Erstellt und gibt eine Kopie dieses Objekts zurück. (Geerbt von Object) |
| Dispose() |
|
| Dispose(Boolean) |
|
| Equals(Object) |
Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist. (Geerbt von Object) |
| First() |
Gibt den ersten Index zurück, bei dem der Zeichenfolgentext dem Suchmuster entspricht. (Geerbt von SearchIterator) |
| Following(Int32) |
Gibt den ersten Index gleich oder größer zurück |
| GetElementComparisonType() |
|
| GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
| HandleNext(Int32) |
Abstrakte Methode, die Unterklassen außer Kraft setzen, um den Mechanismus zum Suchen der nächsten Übereinstimmung im Zieltext bereitzustellen. (Geerbt von SearchIterator) |
| HandlePrevious(Int32) |
Abstrakte Methode, die Unterklassen außer Kraft setzen, um den Mechanismus zum Suchen der vorherigen Übereinstimmung im Zieltext bereitzustellen. (Geerbt von SearchIterator) |
| JavaFinalize() |
Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind. (Geerbt von Object) |
| Last() |
Gibt den letzten Index im Zieltext zurück, bei dem er dem Suchmuster entspricht. (Geerbt von SearchIterator) |
| Next() |
Gibt den Index des nächsten Punkts zurück, an dem der Text dem Suchmuster entspricht, beginnend mit der aktuellen Position Der Iterator wird so angepasst, dass sein aktueller Index (wie zurückgegeben von |
| Notify() |
Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet. (Geerbt von Object) |
| NotifyAll() |
Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten. (Geerbt von Object) |
| Preceding(Int32) |
Gibt den ersten Index kleiner als |
| Previous() |
Gibt den Index des vorherigen Punkts zurück, an dem der Zeichenfolgentext dem Suchmuster entspricht, beginnend mit der aktuellen Position. (Geerbt von SearchIterator) |
| Reset() |
Setzt die Iteration zurück. (Geerbt von SearchIterator) |
| SetElementComparisonType(SearchIterator+ElementComparisonType) |
|
| SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
| SetIndex(Int32) |
Legt die Position im Zieltext fest, an der die nächste Suche gestartet wird. (Geerbt von SearchIterator) |
| SetMatchLength(Int32) |
Legt die Länge der letzten Übereinstimmung im Zieltext fest. (Geerbt von SearchIterator) |
| ToArray<T>() |
|
| ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
| UnregisterFromRuntime() |
|
| Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><> (Geerbt von Object) |
| Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
| Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IJavaPeerable.Disposed() |
|
| IJavaPeerable.DisposeUnlessReferenced() |
|
| IJavaPeerable.Finalized() |
|
| IJavaPeerable.JniManagedPeerState |
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
|
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ruft den JNI-Namen des Typs der Instanz |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
| JavaCast<TResult>(IJavaObject) |
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Versuchen Sie, die Eingabe |