패키지 | flash.globalization |
클래스 | public final class Collator |
상속 | Collator Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10.1, AIR 2 |
이 클래스에서는 운영 체제에서 제공된 문자열 비교 서비스를 사용합니다. 비교는 클래스 인스턴스가 만들어질 때 제공되는 로캘 식별자에 따라 다릅니다. ActionScript에서는 유니코드 문자 집합을 사용하여 문자열을 저장합니다. 부울 문자열 비교 연산자(==, !=, <, <=, >, >=)에서는 비교를 위해 유니코드 코드 포인트를 사용합니다. 대부분의 경우 결과 정렬 순서는 특정 언어 및 지역의 규칙과 일치하지 않으므로 사용자 인터페이스에 제공되는 문자열을 정렬하는 데 사용하면 안 됩니다. 반면에 이 클래스의 비교 메서드는 이러한 규칙을 지키는 순서를 제공합니다.
아래에는 언어에 따라 정렬 순서가 다른 몇 가지 예가 나와 있습니다.
- 영어에서는 소문자 a가 대문자 A 앞에 있고 대문자 A가 소문자 b 앞에 있습니다.
- 스웨덴어에서는 ö가 z 뒤에 있지만 독일어에서는 ö가 o 뒤에 있습니다.
- 전통 스페인어에서는 ch가 c - d 사이에서 한 문자로 정렬됩니다.
정렬 순서는 같은 언어 및 지역에서도 용례에 따라 달라질 수 있습니다. 예를 들어 독일어에서는 전화 번호부의 이름과 사전의 단어에 여러 가지 정렬 순서가 사용됩니다. 중국어 및 일본어에서는 여러 가지 방식으로 표의 문자가 정렬됩니다. 예를 들어 발음을 기준으로 정렬되거나 문자 모양에서 사용되는 표의 문자 부수 및 획수를 기준으로 정렬됩니다. 스페인어와 그루지야어에서는 현대식 정렬과 전통식 정렬이 다릅니다.
이 클래스의 비교 메서드는 두 가지 기본 사용 모드를 제공합니다. Collator()
생성자의 initialMode
매개 변수에서 이러한 모드를 제어합니다. 기본 "정렬" 모드는 최종 사용자에게 표시되는 항목을 정렬하기 위한 모드입니다. 이 모드에서는 비교가 더욱 엄격하여 그렇지 않았을 경우 서로 같은 항목이 일관적인 방식으로 정렬되도록 합니다. 예를 들어 대문자와 소문자는 같은 것으로 비교되지 않습니다. "일치" 모드에서는 비교가 좀 더 관대합니다. 예를 들어 이 모드에서는 대문자와 소문자가 같은 것으로 취급됩니다. 다음은 이 두 모드를 모두 보여 주는 예입니다.
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!"); }
위에 나타난 것처럼 생성자에 로컬 ID 매개 변수를 제공할 때도 사용자의 운영 체제 설정과 요청된 로캘이 지원되지 않는 경우 대체 로캘이 사용되는지 여부에 따라 사용자별로 정렬 동작이 달라질 수 있습니다.
속성 | 정의 주체 | ||
---|---|---|---|
actualLocaleIDName : String [읽기 전용]
이 Collator 객체에서 사용된 실제 로캘 ID 이름입니다. | Collator | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
ignoreCase : Boolean
이 속성이 true로 설정되면 동일한 문자열 및 대/소문자만 서로 다른 문자열이 같은 것으로 평가됩니다. | Collator | ||
ignoreCharacterWidth : Boolean
이 속성이 true로 설정되면 중국어와 일본어에서 전각 형식과 반각 형식의 일부 문자가 같은 것으로 평가됩니다. | Collator | ||
ignoreDiacritics : Boolean
이 속성이 true로 설정되면 사용하는 기본 문자는 같지만 악센트 부호 또는 기타 분음 부호는 서로 다른 문자열이 같은 것으로 평가됩니다. | Collator | ||
ignoreKanaType : Boolean
이 속성이 true로 설정되면 사용되는 가나 문자의 유형만 서로 다른 문자열이 같은 것으로 취급됩니다. | Collator | ||
ignoreSymbols : Boolean
이 속성이 true로 설정되면 정렬하거나 일치시킬 때 공백, 통화 기호, 수학 기호, 다른 유형의 기호 등 기호 문자가 무시됩니다. | Collator | ||
lastOperationStatus : String [읽기 전용]
이 Collator 객체에서 수행한 가장 최근 작업의 상태입니다. | Collator | ||
numericComparison : Boolean
문자열에 포함된 숫자 값이 문자열 비교 동안 처리되는 방식을 제어합니다. | Collator | ||
requestedLocaleIDName : String [읽기 전용]
이 Collator 객체의 생성자에 전달된 요청된 로캘 ID의 이름입니다. | Collator |
메서드 | 정의 주체 | ||
---|---|---|---|
지정된 로캘의 규칙에 따라 문자열 비교를 제공하는 새 Collator 객체를 생성합니다. | Collator | ||
두 문자열을 비교하고 첫 번째 문자열이 두 번째보다 작은지, 같은지 또는 큰지 여부를 나타내는 정수 값을 반환합니다. | Collator | ||
두 문자열을 비교하고 두 문자열이 같은지 여부를 나타내는 부울 값을 반환합니다. | Collator | ||
[정적]
이 클래스에서 지원되는 로캘 ID 이름을 모두 나열합니다. | Collator | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
actualLocaleIDName | 속성 |
actualLocaleIDName:String
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10.1, AIR 2 |
이 Collator 객체에서 사용된 실제 로캘 ID 이름입니다.
운영 체제와 Collator()
생성자에 전달된 requestedLocaleIDName
매개 변수의 값에 따라 세 가지 이름 값이 가능합니다.
- 요청된 로캘이
LocaleID.DEFAULT
가 아니고 운영 체제에서 요청된 로캘을 지원하는 경우requestedLocaleIDName
속성과 같은 이름이 반환됩니다. LocaleID.DEFAULT
가 생성자에 전달되는requestedLocaleIDName
매개 변수의 값으로 사용된 경우 사용자의 운영 체제에서 지정된 현재 로캘의 이름이 사용됩니다.LocaleID.DEFAULT
값은 OS의 사용자 정의된 설정을 유지합니다.requestedLocaleIDName
매개 변수로 명시적 값을 전달하면 두 로캘 ID 이름이 같아도LocaleID.DEFAULT
를 사용할 때의 결과와 달라질 수 있습니다. 사용자가 컴퓨터에 로캘 설정을 사용자 정의했을 경우LocaleID.DEFAULT
를 사용하는 대신 명시적 로캘 ID 이름을 요청하면 응용 프로그램에서 사용자 정의된 설정을 검색하지 못합니다.- 운영 체제가 생성자에 지정된
requestedLocaleIDName
을 지원하지 않는 경우 대체 로캘 ID 이름이 제공됩니다.
구현
public function get actualLocaleIDName():String
관련 API 요소
ignoreCase | 속성 |
ignoreCase:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10.1, AIR 2 |
이 속성이 true로 설정되면 동일한 문자열 및 대/소문자만 서로 다른 문자열이 같은 것으로 평가됩니다. 예를 들어 ignoreCase
속성이 true
로 설정된 경우 compare("ABC", "abc")
는 true
를 반환합니다.
문자열의 대/소문자 변환은 지정된 로캘의 규칙을 따릅니다.
ignoreCase
속성이 false이면 대문자와 소문자가 서로 다른 것으로 평가됩니다.
이 속성에 값이 할당되면 오류나 경고가 없을 경우 lastOperationStatus
속성이 다음으로 설정됩니다.
-
LastOperationStatus.NO_ERROR
또는 lastOperationStatus
속성이 LastOperationStatus 클래스에 정의된 상수 중 하나로 설정됩니다.
Collator()
생성자의 initialMode
매개 변수가 Collator.MATCHING
으로 설정된 경우 기본값은 true
입니다. Collator()
생성자의 initialMode
매개 변수가 Collator.SORTING
으로 설정된 경우 기본값은 false
입니다.
구현
public function get ignoreCase():Boolean
public function set ignoreCase(value:Boolean):void
관련 API 요소
ignoreCharacterWidth | 속성 |
ignoreCharacterWidth:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10.1, AIR 2 |
이 속성이 true로 설정되면 중국어와 일본어에서 전각 형식과 반각 형식의 일부 문자가 같은 것으로 평가됩니다.
기존 중국어 및 일본어 문자 집합 표준과의 호환성을 위해 유니코드는 일부 문자의 전각 및 반각 형식 모두에 대한 문자 코드를 제공합니다. 예를 들어 ignoreCharacterWidth
속성이 true
이면 compare("Aア", "Aア")
가 true
를 반환합니다.
ignoreCharacterWidth
속성이 false
이면 전각 형식과 반각 형식이 서로 다른 것으로 평가됩니다.
이 속성에 값이 할당되면 오류나 경고가 없을 경우 lastOperationStatus
속성이 다음으로 설정됩니다.
-
LastOperationStatus.NO_ERROR
또는 lastOperationStatus
속성이 LastOperationStatus 클래스에 정의된 상수 중 하나로 설정됩니다.
기본값: false.
구현
public function get ignoreCharacterWidth():Boolean
public function set ignoreCharacterWidth(value:Boolean):void
관련 API 요소
ignoreDiacritics | 속성 |
ignoreDiacritics:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10.1, AIR 2 |
이 속성이 true로 설정되면 사용하는 기본 문자는 같지만 악센트 부호 또는 기타 분음 부호는 서로 다른 문자열이 같은 것으로 평가됩니다. 예를 들어 ignoreDiacritics
속성이 true
로 설정된 경우 compare("coté", "côte")
는 true
를 반환합니다.
ignoreDiacritics
가 false
로 설정된 경우 분음 기호 또는 악센트 부호가 있는 기본 문자가 서로 다른 것으로 평가됩니다.
이 속성에 값이 할당되면 오류나 경고가 없을 경우 lastOperationStatus
속성이 다음으로 설정됩니다.
-
LastOperationStatus.NO_ERROR
또는 lastOperationStatus
속성이 LastOperationStatus 클래스에 정의된 상수 중 하나로 설정됩니다.
기본값: false.
구현
public function get ignoreDiacritics():Boolean
public function set ignoreDiacritics(value:Boolean):void
관련 API 요소
ignoreKanaType | 속성 |
ignoreKanaType:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10.1, AIR 2 |
이 속성이 true로 설정되면 사용되는 가나 문자의 유형만 서로 다른 문자열이 같은 것으로 취급됩니다. 예를 들어 ignoreKanaType
속성이 true
로 설정된 경우 compare("カナ", "かな")
가 true
를 반환합니다.
ignoreKanaType
이 false
이면 같은 음절을 나타내는 히라가나와 가타카나가 서로 다른 것으로 평가됩니다.
이 속성에 값이 할당되면 오류나 경고가 없을 경우 lastOperationStatus
속성이 다음으로 설정됩니다.
-
LastOperationStatus.NO_ERROR
또는 lastOperationStatus
속성이 LastOperationStatus 클래스에 정의된 상수 중 하나로 설정됩니다.
기본값: false.
구현
public function get ignoreKanaType():Boolean
public function set ignoreKanaType(value:Boolean):void
관련 API 요소
ignoreSymbols | 속성 |
ignoreSymbols:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10.1, AIR 2 |
이 속성이 true로 설정되면 정렬하거나 일치시킬 때 공백, 통화 기호, 수학 기호, 다른 유형의 기호 등 기호 문자가 무시됩니다. 예를 들어 ignoreSymbols
속성이 true
로 설정되면 "OBrian", "O'Brian" 및 "O Brian"이 모두 같은 것으로 취급됩니다.
ignoreSymbols
속성이 false이면 기호 문자가 문자열 비교에서 고려됩니다.
이 속성에 값이 할당되면 오류나 경고가 없을 경우 lastOperationStatus
속성이 다음으로 설정됩니다.
-
LastOperationStatus.NO_ERROR
또는 lastOperationStatus
속성이 LastOperationStatus 클래스에 정의된 상수 중 하나로 설정됩니다.
기본값: false.
구현
public function get ignoreSymbols():Boolean
public function set ignoreSymbols(value:Boolean):void
관련 API 요소
lastOperationStatus | 속성 |
numericComparison | 속성 |
numericComparison:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10.1, AIR 2 |
문자열에 포함된 숫자 값이 문자열 비교 동안 처리되는 방식을 제어합니다.
numericComparison
속성이 true
로 설정되면 비교 메서드가 문자열에 나타나는 숫자를 비교를 위해 숫자 값으로 변환합니다.
이 속성이 false
로 설정되면 비교에서 숫자를 문자 코드로 취급하고 지정된 로캘의 정렬 문자 규칙에 따라 숫자를 정렬합니다.
예를 들어 이 속성이 로캘 ID "en-US"에 대해 true이면 문자열 "version1", "version10" 및 "version2"는 version1 < version2 < version10 순으로 정렬됩니다.
이 속성이 "en-US"에 대해 false이면 동일한 문자열이 version1 < version10 < version2 순으로 정렬됩니다.
이 속성에 값이 할당되면 오류나 경고가 없을 경우 lastOperationStatus
속성이 다음으로 설정됩니다.
-
LastOperationStatus.NO_ERROR
또는 lastOperationStatus
속성이 LastOperationStatus 클래스에 정의된 상수 중 하나로 설정됩니다.
기본값: false.
구현
public function get numericComparison():Boolean
public function set numericComparison(value:Boolean):void
관련 API 요소
requestedLocaleIDName | 속성 |
requestedLocaleIDName:String
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10.1, AIR 2 |
이 Collator 객체의 생성자에 전달된 요청된 로캘 ID의 이름입니다.
LocaleID.DEFAULT
값이 사용된 경우 "i-default"가 반환됩니다. 대체 로캘이 적용된 경우 사용된 실제 로캘은 요청된 로캘과 다를 수 있습니다. 실제 로캘 이름은 actualLocaleIDName
속성을 사용하여 검색할 수 있습니다.
구현
public function get requestedLocaleIDName():String
관련 API 요소
Collator | () | 생성자 |
public function Collator(requestedLocaleIDName:String, initialMode:String = "sorting")
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10.1, AIR 2 |
지정된 로캘의 규칙에 따라 문자열 비교를 제공하는 새 Collator 객체를 생성합니다.
현재 운영 체제가 requestedLocaleIDName
매개 변수에 전달된 로캘 ID를 지원하지 않으면 대체 로캘이 결정됩니다. 대체 로캘이 사용되면 대체 유형을 나타내도록 lastOperationStatus
속성이 설정됩니다.
initialMode
매개 변수는 일반적인 용도의 다양한 정렬 옵션을 설정하며 다음 값 중 하나로 설정할 수 있습니다.
CollatorMode.SORTING
: 최종 사용자에게 표시될 텍스트 문자열 목록 정렬 등 일반적인 언어적 정렬을 위한 정렬 옵션을 설정합니다. 이 모드에서는 문자열을 비교할 때 대문자와 소문자, 악센트 부호 문자의 차이와 해당 로캘 관련 기타 차이가 고려됩니다.CollatorMode.MATCHING
: 두 문자열이 서로 같은지 여부를 결정하는 등 일반적인 용도의 정렬 옵션을 설정합니다. 이 모드에서는 문자열을 비교할 때 대문자와 소문자, 악센트 부호 문자 등의 차이가 무시됩니다.
다음은 로캘 ID "en-US"(영어-미국)와 CollatorMode.SORTING
옵션과 함께 Collator를 사용하여 만들어진 정렬 목록의 예입니다.
위에 나타난 것처럼 모든 문자는 언어적인 순서로 표시되고 서로 다른 값을 가진 것처럼 취급됩니다.
다음은 로캘 ID "en-US"(영어-미국)와 CollatorMode.MATCHING
옵션과 함께 Collator를 사용하여 만들어진 정렬 목록의 예입니다.
위에 나타난 것처럼 일부 문자는 언어적인 순서로 표시되고 동일한 문자 값을 가진 것처럼 취급됩니다.
정렬 순서를 좀 더 세밀하게 제어하기 위해 Collator.ignoreCase
또는 Collator.ignoreDiacritics
같은 정렬 속성을 변경할 수도 있습니다.
참조용으로 아래에는 로캘을 인식하지 않는 표준 Array.sort()
를 사용하여 수행한 일치 정렬 예제가 나와 있습니다.
위에서 볼 수 있는 것처럼 모든 문자가 유니코드 숫자 값 순서로만 정렬되어 있어 언어적으로는 거의 의미가 없습니다.
사용자의 현재 운영 체제 환경 설정을 사용하려면 requestedLocaleIDName
매개 변수의 정적 값 LocaleID.DEFAULT
를 생성자에 전달합니다.
일부 로캘에는 몇 가지 정렬 순서 변형이 있습니다. 예를 들어 독일어에서는 전화 번호부와 사전에 서로 다른 정렬 순서가 사용됩니다. 중국어에서는 단어가 대개 문자를 병음으로 음차하여 지원됩니다. 이러한 여러 가지 정렬 순서는 requestedLocaleIDName
매개 변수에서 생성자에 전달되는 문자열에 "정렬" 키워드를 포함하여 선택할 수 있습니다.
var germanPhonebook:LocaleID = new LocaleID("de-DE@collation=phonebook"); var chinesePinyin:LocaleID = new LocaleID("zh-Hant@collation=pinyin");
정렬 문자열에 가능한 값은 다음과 같습니다. 괄호 안에는 영향을 받는 언어가 표시되어 있습니다.
호스트 플랫폼에서 요청된 정렬 유형을 지원하지 않으면 대체 유형이 사용되고 대체 유형이 선택되었음을 나타내도록 lastOperationStatus
속성이 설정됩니다. 다음 예제에서처럼 actualLocaleIDName
속성을 사용하여 대체 유형으로 사용된 값을 확인할 수 있습니다.
var collator:Collator = new Collator("fr-FR"); if (collator.lastOperationStatus == LastOperationStatus.USING_FALLBACK_WARNING) { trace ("Using fallback locale: " + collator.actualLocaleIDName); }
생성자가 성공적으로 완료되면 lastOperationStatus
속성이 다음으로 설정됩니다.
-
LastOperationStatus.NO_ERROR
요청된 로캘 ID가 지원되지 않으면 lastOperationStatus
속성이 다음 중 하나로 설정됩니다.
LastOperationStatus.USING_FALLBACK_WARNING
LastOperationStatus.USING_DEFAULT_WARNING
또는 lastOperationStatus
속성이 LastOperationStatus 클래스에 정의된 상수 중 하나로 설정됩니다.
위에 나열된 경고 및 lastOperationStatus
속성의 다른 가능한 값에 대한 자세한 내용은 LastOperationStatus
클래스의 설명을 참조하십시오.
requestedLocaleIDName:String — 이 Collator 객체에서 사용되는 String 입니다.
| |
initialMode:String (default = "sorting ") — 초기 정렬 모드를 지정하는 문자열 값입니다. 기본값은 CollatorMode.SORTING 입니다. 사용 가능한 모드 목록은 CollatorMode 클래스를 참조하십시오.
|
오류
TypeError — requestedLocaleIDName 매개 변수가 null 인 경우
| |
ArgumentError — requestedLocaleIDName 매개 변수에 잘못된 값이 포함된 경우
|
관련 API 요소
compare | () | 메서드 |
public function compare(string1:String, string2:String):int
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10.1, AIR 2 |
두 문자열을 비교하고 첫 번째 문자열이 두 번째보다 작은지, 같은지 또는 큰지 여부를 나타내는 정수 값을 반환합니다. 비교에는 Collator()
생성자에 지정된 로캘 ID의 정렬 순서 규칙이 사용됩니다.
이 메서드가 호출되고 성공적으로 완료되면 lastOperationStatus
속성이 다음으로 설정됩니다.
LastOperationStatus.NO_ERROR
또는 lastOperationStatus
속성이 LastOperationStatus
클래스에 정의된 상수 중 하나로 설정됩니다.
매개 변수
string1:String — 첫 번째 비교 문자열입니다.
| |
string2:String — 두 번째 비교 문자열입니다.
|
int — 첫 번째 문자열이 두 번째 문자열보다 작은지, 같은지 또는 큰지를 나타내는 정수 값입니다.
|
오류
TypeError — 필수 매개 변수가 null인 경우
| |
ArgumentError — 매개 변수에 잘못된 값이 포함된 경우
|
관련 API 요소
equals | () | 메서드 |
public function equals(string1:String, string2:String):Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10.1, AIR 2 |
두 문자열을 비교하고 두 문자열이 같은지 여부를 나타내는 부울 값을 반환합니다. 비교에는 Collator()
생성자에 지정된 로캘 ID의 정렬 순서 규칙이 사용됩니다.
이 메서드가 호출되고 성공적으로 완료되면 lastOperationStatus
속성이 다음으로 설정됩니다.
LastOperationStatus.NO_ERROR
또는 lastOperationStatus
속성이 LastOperationStatus
클래스에 정의된 상수 중 하나로 설정됩니다.
매개 변수
string1:String — 첫 번째 비교 문자열입니다.
| |
string2:String — 두 번째 비교 문자열입니다.
|
Boolean — 문자열이 서로 같은지(true ) 또는 다른지(false )를 나타내는 부울 값입니다.
|
오류
TypeError — 필수 매개 변수가 null인 경우
| |
ArgumentError — 매개 변수에 잘못된 값이 포함된 경우
|
관련 API 요소
getAvailableLocaleIDNames | () | 메서드 |
LocaleID.DEFAULT
에 지정된 대로 운영 체제의 기본 로캘 ID를 포함하여 로캘 ID 이름의 배열을 반복합니다.- "정렬" 모드(기본값)를 사용하여 각 로캘 ID 이름에 대해 Collator 객체를 만듭니다.
- 대체 로캘이 사용되었는지를 확인하기 위해 요청된 및 실제 로캘 ID 이름과
lastOperationStatus
속성 값을 표시합니다. - 각 Collator를 사용하여 데이터 배열을 정렬하고 결과를 표시합니다. 결과 순서는 각 로캘에 따라 다릅니다.
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); } } } }
- "일치" 모드(기본값)를 사용하여 사용자의 기본 로캘에 대해 Collator 객체를 만듭니다.
- 또는
Collator.ignoreDiacritics
속성을false
및true
로 설정합니다. - 발음 기호 및 대/소문자가 포함된 문자열 세트를 비교합니다.
Collator.ignoreDiacritics
및Collator.ignoreCase
속성이 변경되면 비교 결과가 어떻게 변하는지 보여 줍니다.
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); } } } } }
Tue Jun 12 2018, 03:17 PM Z