ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
flash.globalization 

Collator  - AS3

Paketflash.globalization
Klassepublic final class Collator
VererbungCollator Inheritance Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Die Collator-Klasse stellt gebietsschemabeachtende Fähigkeiten für Stringvergleiche bereit.

Diese Klasse nutzt die Dienste für den Stringvergleich, die vom Betriebssystem bereitgestellt werden. Die Vergleiche unterscheiden sich je nach Gebietsschema-ID, die beim Erstellen der Klasseninstanz angegeben wird. ActionScript speichert Strings mithilfe des Unicode-Zeichensatzes. Die booleschen Stringvergleichsoperatoren (==, !=, <, <=, >, >=) verwenden Unicode-Codepoints für den Vergleich. In den meisten Fällen stimmt die resultierende Sortierreihenfolge nicht mit den Konventionen einer bestimmten Sprache und Region überein und sollte deshalb nicht zum Sortieren von Strings verwendet werden, die in einer Benutzeroberfläche dargestellt werden. Im Gegensatz dazu bieten die Vergleichsmethoden in dieser Klasse eine Reihenfolge, die diese Konventionen beachtet.

Dies sind einige Beispiele, bei denen die Sortierreihenfolge von der Sprache abhängig ist:

  • Im Englischen steht das kleine a vor dem großen A; das große A steht vor dem kleinen b.
  • Das Ö folgt im Schwedischen nach dem Z, während es im Deutschen nach dem O folgt.
  • CH wird im traditionellen Spanisch als ein eigener Buchstabe zwischen C und D einsortiert.

Die Sortierreihenfolge kann je nach Verwendungszweck sogar innerhalb derselben Sprache und derselben Region variieren. In Deutschland gibt es zum Beispiel eine Sortierreihenfolge für die Namen in Telefonbüchern, die nicht mit der für Wörterbücher verwendeten übereinstimmt. Im Chinesischen und im Japanischen gibt es verschiedene Arten, die ideografischen Zeichen zu sortieren: nach Aussprache oder nach dem ideografischen Basiszeichen und der Anzahl der in der Glyphe verwendeten Striche. Im Spanischen und im Georgischen gibt es jeweils Unterschiede zwischen der modernen und der traditionellen Sortierung.

Die Vergleichsmethoden in dieser Klasse stellen zwei Hauptmodi bereit. Der initialMode-Parameter des Collator()-Konstruktors steuert diese Modi. Der Standardmodus „sorting“ dient zum Sortieren von Elementen, die dem Benutzer angezeigt werden. In diesem Modus sind Vergleiche strikter, um sicherzustellen, dass andernfalls identische Elemente auf konsistente Weise sortiert werden. Großbuchstaben und Kleinbuchstaben werden zum Beispiel nicht als gleich angesehen. Im Modus „matching“ ist der Vergleich weniger strikt. In diesem Modus werden Großbuchstaben und Kleinbuchstaben zum Beispiel gleich behandelt. Das folgende Beispiel zeigt die Unterschiede zwischen beiden Modi:

 
     var sortingCollator:Collator = new Collator("en-US", CollatorMode.SORTING);
     var words:Array = new  Array("Airplane" , "airplane", "boat", "Boat");
     words.sort(sortingCollator.compare);
     trace(words);
              
     var matchingCollator:Collator = new Collator("en-US", CollatorMode.MATCHING);
     if (matchingCollator.equals("Car", "car")) {
       trace("The words match!");
     }
     

Auch wenn dem Konstruktor wie im Beispiel oben eine Gebietsschema-ID als Parameter übergeben wird, kann das Sortierverhalten variieren. Dies ist von den Betriebssystemeinstellungen des Benutzers und von der eventuellen Verwendung eines Ersatzgebietsschema bei nicht unterstütztem angeforderten Gebietsschema abhängig.

Beispiele anzeigen



Öffentliche Eigenschaften
 EigenschaftDefiniert von
  actualLocaleIDName : String
[schreibgeschützt] Der Name der Gebietsschema-ID, die von diesem Collator-Objekt verwendet wird.
Collator
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
  ignoreCase : Boolean
Wenn diese Eigenschaft auf „true“ gesetzt ist, werden identische Strings und Strings, die sich nur in der Groß- und Kleinschreibung der Buchstaben unterscheiden, als gleich bewertet.
Collator
  ignoreCharacterWidth : Boolean
Wenn diese Eigenschaft auf „true“ gesetzt ist, werden Formen voller Breite und halber Breite bei bestimmten chinesischen und japanischen Zeichen als gleich bewertet.
Collator
  ignoreDiacritics : Boolean
Wenn diese Eigenschaft auf „true“ gesetzt ist, werden Strings mit denselben Grundzeichen aber unterschiedlichen Akzenten oder anderen diakritischen Zeichen als gleich bewertet.
Collator
  ignoreKanaType : Boolean
Wenn diese Eigenschaft auf „true“ gesetzt ist, werden Strings, die sich nur durch die Art der verwendeten kana-Zeichen unterscheiden, als gleich bewertet.
Collator
  ignoreSymbols : Boolean
Wenn diese Eigenschaft auf „true“ gesetzt ist, werden Symbolzeichen wie Leerzeichen, Währungssymbole, mathematische Symbole und andere Arten von Symbolen beim Sortieren oder Überprüfen ignoriert.
Collator
  lastOperationStatus : String
[schreibgeschützt] Der Status der letzten Operation, die dieses Collator-Objekt ausgeführt hat.
Collator
  numericComparison : Boolean
Regelt, wie numerische Werte, die in Strings eingebettet sind, bei Stringvergleichen behandelt werden.
Collator
  requestedLocaleIDName : String
[schreibgeschützt] Der Name der angeforderten Gebietsschema-ID, der an den Konstruktor dieses Collator-Objekts übergeben wurde.
Collator
Öffentliche Methoden
 MethodeDefiniert von
  
Collator(requestedLocaleIDName:String, initialMode:String = "sorting")
Konstruiert ein neues Collator-Objekt, um Stringvergleiche entsprechend den Konventionen eines angegebenen Gebietsschemas bereitzustellen.
Collator
  
compare(string1:String, string2:String):int
Vergleicht zwei Strings und gibt einen Ganzzahlwert zurück, der angibt, ob der erste String kleiner, gleich oder größer als der zweite String ist.
Collator
  
equals(string1:String, string2:String):Boolean
Vergleicht zwei Strings und gibt einen booleschen Wert zurück, der angibt, ob die Strings gleich sind.
Collator
  
[statisch] Listet alle Gebietsschema-ID-Namen auf, die von dieser Klasse unterstützt werden.
Collator
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
Eigenschaftendetails

actualLocaleIDName

Eigenschaft
actualLocaleIDName:String  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Der Name der Gebietsschema-ID, die von diesem Collator-Objekt verwendet wird.

Es drei Möglichkeiten für den Wert des Namens, abhängig vom Betriebssystem und dem Wert des requestedLocaleIDName-Parameters, der an den Collator()-Konstruktor übergeben wird.

  1. Wenn das angeforderte Gebietsschema nicht LocaleID.DEFAULT war und das Betriebssystem das angeforderten Gebietsschema unterstützt, ist der zurückgegebene Name identisch mit der requestedLocaleIDName-Eigenschaft.
  2. Wenn LocaleID.DEFAULT als Wert für den requestedLocaleIDName-Parameter an den Konstruktor übergeben wurde, wird der Name des aktuellen Gebietsschemas verwendet, der vom Betriebssystem des Benutzers angegeben wird. Der LocaleID.DEFAULT-Wert bewahrt die benutzerdefinierten Einstellungen im Betriebssystem. Mit der Übergabe eines expliziten Werts als requestedLocaleIDName-Parameter wird nicht unbedingt dasselbe Ergebnis erzielt wie mit der Verwendung von LocaleID.DEFAULT, selbst wenn die beiden Gebietsschema-ID-Namen identisch sind. Der Benutzer hat die Gebietsschemaeinstellungen auf seinem Computer möglicherweise angepasst. Wenn Sie einen expliziten Gebietsschema-ID-Namen anfordern, anstatt LocaleID.DEFAULT zu verwenden, erhält Ihre Anwendung diese benutzerdefinierten Einstellungen nicht.
  3. Wenn das System den im Konstruktor angegebenen requestedLocaleIDName nicht unterstützt, wird ein Ersatzgebietsschema bereitgestellt.



Implementierung
    public function get actualLocaleIDName():String

Verwandte API-Elemente

ignoreCase

Eigenschaft 
ignoreCase:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Wenn diese Eigenschaft auf „true“ gesetzt ist, werden identische Strings und Strings, die sich nur in der Groß- und Kleinschreibung der Buchstaben unterscheiden, als gleich bewertet. Zum Beispiel gibt compare("ABC", "abc") den Wert true zurück, wenn die ignoreCase-Eigenschaft den Wert true hat.

Bei der Umwandlung von Groß- und Kleinbuchstaben werden die Regeln für das angegebene Gebietsschema beachtet.

Wenn die ignoreCase-Eigenschaft den Wert „false“ hat, werden Groß- und Kleinbuchstaben nicht als gleich angesehen.

Wenn dieser Eigenschaft ein Wert zugewiesen ist und es keine Fehler oder Warnungen gibt, wird die lastOperationStatus-Eigenschaft auf folgenden Wert gesetzt:

  • LastOperationStatus.NO_ERROR

Andernfalls wird die lastOperationStatus-Eigenschaft auf eine der Konstanten eingestellt, die in der LastOperationStatus-Klasse definiert sind.

Der Standardwert ist true, wenn für den zum Collator()-Konstruktor gehörenden initialMode-Parameter Collator.MATCHING festgelegt ist. Der Standardwert ist false, wenn für den zum Collator()-Konstruktor gehörenden initialMode-Parameter Collator.SORTING festgelegt ist.



Implementierung
    public function get ignoreCase():Boolean
    public function set ignoreCase(value:Boolean):void

Verwandte API-Elemente

ignoreCharacterWidth

Eigenschaft 
ignoreCharacterWidth:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Wenn diese Eigenschaft auf „true“ gesetzt ist, werden Formen voller Breite und halber Breite bei bestimmten chinesischen und japanischen Zeichen als gleich bewertet.

Für die Kompatibilität mit vorhandenen Standards für chinesische und japanische Zeichensätze stellt Unicode Zeichencodes sowohl für Zeichen voller Breite als auch halber Breite bereit. Wenn zum Beispiel die ignoreCharacterWidth-Eigenschaft auf true gesetzt ist, gibt compare("Aア", "Aア") den Wert true zurück.

Wenn die ignoreCharacterWidth-Eigenschaft auf false gesetzt ist, werden Zeichen voller Breite und halber Breite nicht als gleich angesehen.

Wenn dieser Eigenschaft ein Wert zugewiesen ist und es keine Fehler oder Warnungen gibt, wird die lastOperationStatus-Eigenschaft auf folgenden Wert gesetzt:

  • LastOperationStatus.NO_ERROR

Andernfalls wird die lastOperationStatus-Eigenschaft auf eine der Konstanten eingestellt, die in der LastOperationStatus-Klasse definiert sind.

Der Standardwert ist false.



Implementierung
    public function get ignoreCharacterWidth():Boolean
    public function set ignoreCharacterWidth(value:Boolean):void

Verwandte API-Elemente

ignoreDiacritics

Eigenschaft 
ignoreDiacritics:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Wenn diese Eigenschaft auf „true“ gesetzt ist, werden Strings mit denselben Grundzeichen aber unterschiedlichen Akzenten oder anderen diakritischen Zeichen als gleich bewertet. Zum Beispiel gibt compare("coté", "côte") den Wert true zurück, wenn die ignoreDiacritics-Eigenschaft den Wert true hat.

Wenn die ignoreDiacritics-Eigenschaft den Wert false hat, werden Basiszeichen mit diakritischen Zeichen oder Akzenten nicht als gleich angesehen.

Wenn dieser Eigenschaft ein Wert zugewiesen ist und es keine Fehler oder Warnungen gibt, wird die lastOperationStatus-Eigenschaft auf folgenden Wert gesetzt:

  • LastOperationStatus.NO_ERROR

Andernfalls wird die lastOperationStatus-Eigenschaft auf eine der Konstanten eingestellt, die in der LastOperationStatus-Klasse definiert sind.

Der Standardwert ist false.



Implementierung
    public function get ignoreDiacritics():Boolean
    public function set ignoreDiacritics(value:Boolean):void

Verwandte API-Elemente

ignoreKanaType

Eigenschaft 
ignoreKanaType:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Wenn diese Eigenschaft auf „true“ gesetzt ist, werden Strings, die sich nur durch die Art der verwendeten kana-Zeichen unterscheiden, als gleich bewertet. Zum Beispiel gibt compare("カナ", "かな") den Wert true zurück, wenn die ignoreKanaType-Eigenschaft den Wert true hat.

Wenn die ignoreKanaType-Eigenschaft auf false gesetzt ist, werden Hiragana- und Katakana-Zeichen, die sich auf dieselbe Silbe beziehen, nicht als gleich angesehen.

Wenn dieser Eigenschaft ein Wert zugewiesen ist und es keine Fehler oder Warnungen gibt, wird die lastOperationStatus-Eigenschaft auf folgenden Wert gesetzt:

  • LastOperationStatus.NO_ERROR

Andernfalls wird die lastOperationStatus-Eigenschaft auf eine der Konstanten eingestellt, die in der LastOperationStatus-Klasse definiert sind.

Der Standardwert ist false.



Implementierung
    public function get ignoreKanaType():Boolean
    public function set ignoreKanaType(value:Boolean):void

Verwandte API-Elemente

ignoreSymbols

Eigenschaft 
ignoreSymbols:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Wenn diese Eigenschaft auf „true“ gesetzt ist, werden Symbolzeichen wie Leerzeichen, Währungssymbole, mathematische Symbole und andere Arten von Symbolen beim Sortieren oder Überprüfen ignoriert. Zum Beispiel werden die Strings "OBrian", "O'Brian" und "O Brian" als gleich angesehen, wenn die ignoreSymbols-Eigenschaft den Wert true hat.

Wenn die ignoreSymbols-Eigenschaft den Wert „false“ hat, werden Symbolzeichen bei Stringvergleichen berücksichtigt.

Wenn dieser Eigenschaft ein Wert zugewiesen ist und es keine Fehler oder Warnungen gibt, wird die lastOperationStatus-Eigenschaft auf folgenden Wert gesetzt:

  • LastOperationStatus.NO_ERROR

Andernfalls wird die lastOperationStatus-Eigenschaft auf eine der Konstanten eingestellt, die in der LastOperationStatus-Klasse definiert sind.

Der Standardwert ist false.



Implementierung
    public function get ignoreSymbols():Boolean
    public function set ignoreSymbols(value:Boolean):void

Verwandte API-Elemente

lastOperationStatus

Eigenschaft 
lastOperationStatus:String  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Der Status der letzten Operation, die dieses Collator-Objekt ausgeführt hat. Die lastOperationStatus-Eigenschaft wird immer festgelegt, wenn der Konstruktor oder eine Methode dieser Klasse aufgerufen oder eine Eigenschaft festgelegt wird. Die möglichen Werte sind in der Beschreibung der einzelnen Methoden aufgeführt.



Implementierung
    public function get lastOperationStatus():String

Verwandte API-Elemente

numericComparison

Eigenschaft 
numericComparison:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Regelt, wie numerische Werte, die in Strings eingebettet sind, bei Stringvergleichen behandelt werden.

Wenn die numericComparison-Eigenschaft den Wert true hat, konvertiert die Vergleichsmethode Zahlen, die im String vorkommen, zum Vergleich in numerische Werte.

Wenn diese Eigenschaft den Wert false hat, behandelt der Vergleich Zahlen als Zeichencodes und sortiert sie entsprechend der Regeln zum Sortieren von Zeichen im angegebenen Gebietsschema.

Wenn diese Eigenschaft zum Beispiel für das Gebietsschema "en-US" den Wert „true“ hat, werden die Strings "version1", "version10" und "version2" in dieser Reihenfolge sortiert: version1 < version2 < version10.

Wenn diese Eigenschaft für das Gebietsschema "en-US" den Wert „false“ hat, werden dieselben Strings in dieser Reihenfolge sortiert: version1 < version10 < version2.

Wenn dieser Eigenschaft ein Wert zugewiesen ist und es keine Fehler oder Warnungen gibt, wird die lastOperationStatus-Eigenschaft auf folgenden Wert gesetzt:

  • LastOperationStatus.NO_ERROR

Andernfalls wird die lastOperationStatus-Eigenschaft auf eine der Konstanten eingestellt, die in der LastOperationStatus-Klasse definiert sind.

Der Standardwert ist false.



Implementierung
    public function get numericComparison():Boolean
    public function set numericComparison(value:Boolean):void

Verwandte API-Elemente

requestedLocaleIDName

Eigenschaft 
requestedLocaleIDName:String  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Der Name der angeforderten Gebietsschema-ID, der an den Konstruktor dieses Collator-Objekts übergeben wurde.

Wenn der Wert LocaleID.DEFAULT verwendet wurde, lautet der zurückgegebene Name "i-default". Das tatsächlich verwendete Gebietsschema kann vom angeforderten Gebietsschema abweichen, wenn ein Ersatzgebietsschema verwendet wird. Der Name des tatsächlich verwendeten Gebietsschemas kann mit der actualLocaleIDName-Eigenschaft abgerufen werden.



Implementierung
    public function get requestedLocaleIDName():String

Verwandte API-Elemente

Konstruktordetails

Collator

()Konstruktor
public function Collator(requestedLocaleIDName:String, initialMode:String = "sorting")

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Konstruiert ein neues Collator-Objekt, um Stringvergleiche entsprechend den Konventionen eines angegebenen Gebietsschemas bereitzustellen.

Wenn das aktuelle Betriebssystem die mit dem requestedLocaleIDName-Parameter übergegebene Gebietsschema-ID nicht unterstützt, wird ein Ersatzgebietsschema bestimmt. Wenn eine Ausweichlösung verwendet wird, gibt die lastOperationStatus-Eigenschaft den Typ der Ausweichlösung an.

Der initialMode-Parameter legt verschiedene Sortieroptionen für allgemeine Zwecke fest. Er kann auf einen der folgenden Werte eingestellt sein:

  • CollatorMode.SORTING: legt Sortieroptionen für allgemeine linguistische Sortiervorgänge fest, zum Beispiel für das Sortieren einer Liste mit Textstrings, die einem Endbenutzer angezeigt werden. In diesem Modus werden Unterschiede in der Groß- und Kleinschreibung, Zeichen mit Akzent und andere gebietsschemaspezifische Unterschiede bei Stringvergleichen berücksichtigt.
  • CollatorMode.MATCHING: legt Sortieroptionen für allgemeine Zwecke fest, zum Beispiel, um festzustellen, ob zwei Strings gleich sind. In diesem Modus werden Unterschiede in der Groß- und Kleinschreibung, Zeichen mit Akzent usw. bei Stringvergleichen nicht berücksichtigt.

Dies ist ein Beispiel für eine sortierte Liste, die mit einem Collator erstellt wurde, mit der Gebietsschema-ID „en-US“ (Englisch, USA) und der CollatorMode.SORTING-Option:

AaÄäAaAEaeÆæBbBbCcçCc

Wie oben gezeigt, werden alle Zeichen als unterschiedlich behandelt, aber in linguistischer Reihenfolge.

Dies ist ein Beispiel für eine sortierte Liste, die mit einem Collator erstellt wurde, mit der Gebietsschema-ID „en-US“ (Englisch, USA) und der CollatorMode.MATCHING-Option:

A a Ä ä A aAE ae Æ æB b B bC c ç C c

Wie oben gezeigt, stehen einige Zeichen in linguistisch korrekter Reihenfolge und werden wie gleiche Zeichenwerte behandelt.

Zur feineren Steuerung der Sortierreihenfolge können Sie Collator-Eigenschaften ändern, zum Beispiel Collator.ignoreCase oder Collator.ignoreDiacritics.

Zum Vergleich folgt ein entsprechendes Beispiel mit der Standardmethode Array.sort(), die das Gebietsschema nicht beachtet:

AAEBCaaebcÄÆäæçABab

Wie Sie oben sehen können, sind alle Zeichen einfach in der Reihenfolge ihrer numerischen Unicode-Werte sortiert. Sprachlich ist dies nicht sinnvoll.

Um die Einstellungen des aktuellen Betriebssystems des Benutzers zu verwenden, übergeben Sie den statischen Wert LocaleID.DEFAULT im requestedLocaleIDName-Parameter an den Konstruktor.

Für einige Gebietsschemas gibt es verschiedene Sortiervarianten. Im Deutschen werden zum Beispiel für Telefonbücher und Wörterbücher unterschiedliche Sortierreihenfolgen verwendet. Im Chinesischen werden Wörter normalerweise durch Transkriptionen der Zeichen in Pinyin unterstützt. Diese unterschiedlichen Sortierreihenfolgen lassen sich auswählen, indem das Schlüsselwort "collation" in den String eingefügt wird, der im requestedLocaleIDName-Parameter an den Konstruktor übergeben wird.

         var germanPhonebook:LocaleID = new LocaleID("de-DE@collation=phonebook");
         var chinesePinyin:LocaleID = new LocaleID("zh-Hant@collation=pinyin");
         

Mögliche Werte für den collation-String sind nachstehend aufgeführt, mit der betroffenen Sprache in Klammern:

SortierfolgenstringBeschreibungstandardDie Standardsortierreihenfolge für jede Sprache. phonebookSortierung im Telefonbuchstil (in Deutschland verwendet).pinyinPinyin-Sortierung für lateinische und CJK-Zeichen; CJK-Zeichen werden auf einer Zeichen-für-Zeichen-Transkription in Pinyin sortiert (im Chinesischen verwendet)traditionalSortierung im traditionellen Stil (im Spanischen verwendet) strokePinyin-Sortierung für lateinische Zeichen, Strich-Sortierung für CJK-Zeichen (im Chinesischen verwendet)direct(in Hindi verwendet) big5han Pinyin-Sortierung für lateinische Zeichen, Big5-Zeichensatz-Sortierung für CJK-Zeichen (im Chinesischen verwendet) gb2312han Pinyin-Sortierung für lateinische Zeichen, GB2312-Zeichensatz-Sortierung für CJK-Zeichen (im Chinesischen verwendet) unihan Pinyin-Sortierung für lateinische Zeichen, Unihan-Basiszeichen-Strich-Sortierung für CJK-Zeichen (im Chinesischen verwendet)

Wenn die Hostplattform den angeforderten Sortiertyp nicht unterstützt, wird eine Ausweichlösung verwendet und die lastOperationStatus-Eigenschaft gibt an, dass ein Ersatz ausgewählt wurde. Mit der actualLocaleIDName-Eigenschaft können Sie feststellen, welcher Wert als Ersatz verwendet wurde, wie im folgenden Beispiel gezeigt:

         var collator:Collator = new Collator("fr-FR");
         if (collator.lastOperationStatus == LastOperationStatus.USING_FALLBACK_WARNING)
         {
           trace ("Using fallback locale: " + collator.actualLocaleIDName);
         }
         

Wenn der Konstruktor erfolgreich abgeschlossen wird, wird die lastOperationStatus-Eigenschaft auf diesen Wert gesetzt:

  • LastOperationStatus.NO_ERROR

Wenn die angeforderte Gebietsschema-ID nicht verfügbar ist, hat die lastOperationStatus-Eigenschaft einen der folgenden Werte:

  • LastOperationStatus.USING_FALLBACK_WARNING
  • LastOperationStatus.USING_DEFAULT_WARNING

Andernfalls wird die lastOperationStatus-Eigenschaft auf eine der Konstanten eingestellt, die in der LastOperationStatus-Klasse definiert sind.

Details zu den oben aufgeführten Warnungen und zu anderen möglichen Werten der lastOperationStatus-Eigenschaft finden Sie im Abschnitt zur LastOperationStatus-Klasse.

Parameter
requestedLocaleIDName:StringString, der von diesem Collator-Objekt verwendet werden soll.
 
initialMode:String (default = "sorting") — Ein Stringwert, der den anfänglichen Sortiermodus angibt. Der Standardwert lautet CollatorMode.SORTING. Eine Liste der verfügbaren Modi finden Sie in der Beschreibung der CollatorMode-Klasse.

Auslöser
TypeError — wenn der requestedLocaleIDName-Parameter den Wert null hat.
 
ArgumentError — wenn der requestedLocaleIDName-Parameter einen ungültigen Wert enthält.

Verwandte API-Elemente

Methodendetails

compare

()Methode
public function compare(string1:String, string2:String):int

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Vergleicht zwei Strings und gibt einen Ganzzahlwert zurück, der angibt, ob der erste String kleiner, gleich oder größer als der zweite String ist. Der Vergleich verwendet die Sortierregeln für die Gebietsschema-ID, die im Collator()-Konstruktor angegeben wurde.

Wenn diese Methode aufgerufen und erfolgreich abgeschlossen wird, wird die lastOperationStatus-Eigenschaft folgendermaßen festgelegt:

  • LastOperationStatus.NO_ERROR

Andernfalls wird die lastOperationStatus-Eigenschaft auf eine der Konstanten eingestellt, die in der LastOperationStatus-Klasse definiert sind.

Parameter

string1:String — Erster Vergleichsstring.
 
string2:String — Zweiter Vergleichsstring.

Rückgabewerte
int — Ein Ganzzahlwert, der angibt, ob der erste String kleiner, gleich oder größer als der zweite String ist.
  • Wenn der Rückgabewert negativ ist, ist string1 kleiner als string2.
  • Wenn der Rückgabewert null ist, ist string1 gleich string2.
  • Wenn der Rückgabewert positiv ist, ist string1 größer als string2.

Auslöser
TypeError — wenn ein erforderlicher Parameter null ist.
 
ArgumentError — wenn ein Parameter einen ungültigen Wert enthält.

Verwandte API-Elemente

equals

()Methode 
public function equals(string1:String, string2:String):Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Vergleicht zwei Strings und gibt einen booleschen Wert zurück, der angibt, ob die Strings gleich sind. Der Vergleich verwendet die Sortierregeln für die Gebietsschema-ID, die im Collator()-Konstruktor angegeben wurde.

Wenn diese Methode aufgerufen und erfolgreich abgeschlossen wird, wird die lastOperationStatus-Eigenschaft folgendermaßen festgelegt:

  • LastOperationStatus.NO_ERROR

Andernfalls wird die lastOperationStatus-Eigenschaft auf eine der Konstanten eingestellt, die in der LastOperationStatus-Klasse definiert sind.

Parameter

string1:String — Erster Vergleichsstring.
 
string2:String — Zweiter Vergleichsstring.

Rückgabewerte
Boolean — Ein boolescher Wert, der angibt, ob die Strings gleich sind (true) oder ungleich sind (false).

Auslöser
TypeError — wenn ein erforderlicher Parameter null ist.
 
ArgumentError — wenn ein Parameter einen ungültigen Wert enthält.

Verwandte API-Elemente

getAvailableLocaleIDNames

()Methode 
public static function getAvailableLocaleIDNames():Vector.<String>

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Listet alle Gebietsschema-ID-Namen auf, die von dieser Klasse unterstützt werden.

Wenn diese Klasse vom aktuellen Betriebssystem gar nicht unterstützt wird, gibt diese Methode einen Null-Wert zurück.

Rückgabewerte
Vector.<String> — Ein Vektor von Strings, der alle von dieser Klasse unterstützten Gebietsschema-ID-Namen enthält.
CollatorExample1.as

Die folgenden Beispiele zeigen Sortierungsergebnisse, die sich aufgrund des Gebietsschemas unterscheiden. Das Beispiel führt die folgenden Schritte aus:
  1. Durchläuft ein Array von Gebietsschema-ID-Namen einschließlich der Standardgebietsschema-ID für das Betriebssystem (wie von LocaleID.DEFAULT definiert)
  2. Erstellt ein Collator-Objekt für jeden Gebietsschema-ID-Namen unter Verwendung des Modus „sorting“ (Standardeinstellung).
  3. Zeigt die Namen der angeforderten und tatsächlichen Gebietsschema-IDs an sowie den Wert der lastOperationStatus-Eigenschaft, sodass Sie sehen können, ob ein Ersatzgebietsschema verwendet wurde.
  4. Sortiert ein Datenarray unter Verwendung jedes Collators und zeigt die Ergebnisse an. Die resultierende Sortierung sieht für jedes Gebietsschema anders aus.
package {
    import flash.globalization.Collator;
    import flash.globalization.LocaleID;

    public class CollatorExample1
    {
        public var col:Collator;
        
        public function CollatorExample1():void
        {        
            var localeNames:Array = [LocaleID.DEFAULT,
                                     "de-DE", "sv-SE",
                                     "fr-FR", "lt-LT",
                                     "es-ES"];
            
            var testSortData:Array = [
                "y ", "i ", "k ", // Latvian
                "acxa ", "acha ", "adxa ", // es_traditional
                "n ", "ö ", "o ", "z ", "vu ", "wo ", // sw
                "däd ", "daed ", // de
                "öf ", "of ", // de_dictionary
                "côte ", "coté " // fr
            ];
            
            for each (var localeName:String in localeNames) {
            
                col = new Collator(localeName);
                
                trace("LocaleID requested: " + col.requestedLocaleIDName 
                       + "; actual: " + col.actualLocaleIDName);
                       
                trace("Last Operation Status: " + col.lastOperationStatus );
                
                var result:Array = testSortData.sort(col.compare);
                        
                trace ("sorted data: " + result); 
            }
        }      
    }
}
CollatorExample2.as

Im folgenden Beispiel wird ein Collator-Objekt verwendet, um das Verhalten von Stringvergleichen zu steuern. Das Beispiel führt die folgenden Schritte aus:
  1. Erstellt ein Collator-Objekt für das Standardgebietsschema des Benutzers unter Verwendung des Modus „matching“.
  2. Setzt die Collator.ignoreDiacritics-Eigenschaft abwechselnd auf false und true
  3. Vergleicht Sätze von Strings, die diakritische Zeichen sowie Groß- und Kleinbuchstaben enthalten.
  4. Zeigt, wie sich die Vergleiche ändern, wenn sich die Eigenschaften Collator.ignoreDiacritics und Collator.ignoreCase ändern.
package {
    import flash.display.Sprite;
    import flash.globalization.Collator;
    import flash.globalization.CollatorMode;
    import flash.globalization.LocaleID;
    
    public class CollatorExample2 extends Sprite
    {
        public var col:Collator;
        public var testMatchData:Array = ["cote", "Cote", "côte", "coté"];
        public var wordToMatch:String = "Cote";
        
        public function CollatorExample2()
        {
            col = new Collator( LocaleID.DEFAULT, CollatorMode.MATCHING );

            trace("LocaleID requested: " + col.requestedLocaleIDName 
                    + "; actual: " + col.actualLocaleIDName);
                    
            trace("Last Operation Status: " + col.lastOperationStatus );

            trace('\n' + "ignoreCase = " + col.ignoreCase);
            trace("ignoreDiacritics = " + col.ignoreDiacritics);

            compareString(testMatchData, wordToMatch) // All variations of the word cote match

            col.ignoreDiacritics = false;
            trace('\n' + "ignoreDiacritics = false");

            compareString(testMatchData, wordToMatch) // Variations with different diacritics will not match

            col.ignoreCase = false;
            trace('\n' + "ignoreCase = false");

            compareString(testMatchData, wordToMatch) // Variations with different case will not match
        }
    
        private function compareString(stringArray:Array, keyword:String):void
        {
            for each(var s:String in stringArray)
            {
                if(col.equals(s, keyword))    
                {
                    trace(keyword + " = " + s);
                }
            }
        }
    }
}




[ X ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.