使用 Java 的语言排序(德语)
使用数字对字符串进行排序的完成方式因语言而异。例如,在英语中,数字在升序排序中位于字母之前。但是,在德语中,数字在字母之后是上升排序的。
我尝试使用整理器
对字符串进行排序,如下所示:
private Collator collator = Collator.getInstance(Locale.GERMANY);
collator.compare(str1, str2)
但上面的比较没有考虑到字母规则后面的数字。
有没有人知道为什么Java暂时不考虑这个规则(字母后面的数字),我正在使用RuttleBasedCollator
,如下所示:
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);