18
숫자로 문자열을 정렬하는 것은 언어마다 다르게 수행됩니다. 예를 들어 영문자는 오름차순으로 글자 앞에옵니다. 그러나 독일어에서는 숫자가 문자 뒤에 오름차순으로 정렬됩니다.Java로 언어 정렬 (독일어)
나는 따르는 Collator
로 사용하여 문자열을 정렬하는 시도 :
private Collator collator = Collator.getInstance(Locale.GERMANY);
collator.compare(str1, str2)
그러나 비교 위의
가 문자 규칙 후에 계정 자리로하지 않습니다.하나는 자바가 다음과 같이 내가 RuleBasedCollator
를 사용하고 당분간 계정에이 규칙을 (자리 편지 쓰기 후) 복용되지 않는 이유 아이디어가 있습니까 :
private final String sortOrder = "< a, A < b, B < c, C < d, D < e, E < f, F < g, G < h, H < i, I < j, J < k, K < l, L < m, M < n, N < o, O < p, P < q, Q < r, R < s, S < t, T < u, U < v, V < w, W < x, X < y, Y < z, Z < 0 < 1 < 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9";
private Collator collator = new RuleBasedCollator(sortOrder);
그것은 당신이 당신의 정렬 순서 모음 변이와 샤프의 (äöüß)을하지 않아도 의도적인가 :
그리고 당신은 기본적으로이 수치가 처음 배치 한 것을 발견했다으로
? 나는 그들이 독일 콜레 이터를 갖는 것이 중요하다고 말하고 싶다. –예, 테스트 케이스의 경우 움라우트와 특수 문자가 누락되었습니다. 단지 매우 간단하게 유지하고 싶었습니다. – Amir
또한 : 다른 문자 다음에 해당 정렬 자릿수를 따르는 규칙은 무엇입니까? 독일어에는 몇 가지 다른 데이터 정렬이 있고 그 중 일부는 먼저 정렬합니다. –