के साथ भाषाई सॉर्टिंग (जर्मन) संख्या के साथ एक स्ट्रिंग को सॉर्ट करना एक भाषा से दूसरे भाषा में अलग-अलग किया जाता है। उदाहरण के लिए, अंग्रेजी अंकों में आरोही क्रम में अक्षरों से पहले आते हैं। लेकिन, जर्मन में, अंक अक्षरों के बाद क्रमबद्ध होते हैं।जावा
मैं इस प्रकार एक 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);
यह जानबूझकर है कि आप अपने सॉर्ट क्रम में Umlauts और तीव्र-एस (äöüß) की जरूरत नहीं है है? मैं कहूंगा कि जर्मन कॉललेटर रखने के लिए वे महत्वपूर्ण हैं। –
हां, परीक्षण मामले के लिए मैंने उमोट्स और विशेष पात्रों को छोड़ दिया है। बस इसे बहुत आसान रखना चाहता था। – Amir
इसके अलावा: अन्य नियमों के बाद आप किस प्रकार के नियमों का पालन करते हैं? जर्मन के लिए कई अलग-अलग collations हैं और कम से कम उन प्रकार के कुछ नंबर पहले हैं। –