2012-03-14 4 views
1

자바 용 icu 패키지를 찾고 있습니다. 주어진 로케일과 주어진 codepoint를 전달하고 "동등한"문자 목록을 얻는 방법으로 찾고있는 것.거기에 로케일에서 주어진 문자에 해당하는 모든 문자를 얻는 방법입니다

프랑스어로 [= e =]의 POSIX charclass를보고 있는데, 프랑스어로 'e'로 된 모든 문자는 무엇입니까? e, é, è, ê

모든 사람이 사용하고있는 것처럼 보이는이 패키지를 보았습니다.이 방법을 찾지 못했습니다.

참고 : 이것은 다른 질문과 반대입니다.

앤디

+1

java.text.Normalizer 가능성, e'''과 같은 몇 가지로 코드 포인트를 분해 할 수 있습니다 (확실하지 않은)'oe'. 그것은 "동등한"의미인가? –

+0

에 해당하는 프랑스어는 'e'로 모든 형태의 e 문자가 프랑스어로 사용됩니다. –

+0

재미있는 질문 - 결과로 무엇을 할 계획입니까? 또한 가능한 모든 문자를 찾는 것은 작동하지 않습니다. 예를 들어 일부 조합자는 "Å"= "AA"입니다. –

답변

2

그것은 당신이 동등한 무슨 뜻인지에 따라 달라집니다,하지만 당신은 문자를 함께 정렬 할 것이다 볼 수있는 Collator를 사용할 수 있습니다. RuleBasedCollator이 주조

Collator.getInstance(Locale.FRANCE); 

당신이 할 수 있습니다 :

((RuleBasedCollator)Collator.getInstance(Locale.FRANCE)).getRules(); 

당신에게 동등한 테이블이 나타납니다 당신은 Locale에서 기본 레이터를 얻을 수 있습니다.

+0

이 대답은 Java 6 및 Java 7에 가장 적합한 선택이라고 생각합니다. icu와 비슷한 것이 있는지 확인합니다. –

+0

ICU는 동일한 인터페이스를 사용할 수 있습니다. http://icu-project.org/apiref/icu4j/com/ibm/icu/text/RuleBasedCollator.html#getRules() –

관련 문제