title image


Smiley Sortierung von Strings
Hallo zusammen,



ich habe ein Problem, das die Sortierung von Strings betrifft. Und zwar verwende ich den Shuttlesort, dessen Methoden bei unserem Projekt bereits von einem anderen User kopiert wurden. Entscheidend ist aber, dass der Sort sich immer einer compare-Methode bedient, in der die einzelnen Werte verglichen werden. Wenn man nun einfach die Methode compare() von der String-Klasse nimmt, werden die Umlaute natürlich falsch sortiert.

Deshalb habe ich mich der Klasse Collator bedient, in der man ein Locale setzen kann für das entsprechende Land, und die auch ein Methode compare() besitzt.

Das schaut dann als Code folgendermaßen aus:



int result = java.text.Collator.getInstance(java.util.Locale.GERMANY).compare(s1, s2)



s1 und s2 sind die zu vergleichenden String-Werte.



An sich funktioniert dann die Sortierung nach Umlauten richtig.

Aber leider habe ich folgendes Problem. Wenn im String ein Leerzeichen enthalten ist, wird das beim Vergleich ignoriert



Das schaut dann zum Beispiel folgendermaßen aus:

Koppe Günter und Koppenhöll Peter werden nach Kopp Daniel, aber vor Koppe Erich sortiert.

Koppke Roland und Kopplin Ulrich werden nach Kopp Josef, aber vor Kopp Ludwig sortiert.



Die Sortierung sollte aber so sein, dass zuerst alle Namen mit Kopp vorne stehen und dann erst Koppe, Koppke usw.



Ich bin dankbar für jeden Hinweis.



Gruß



Stefan



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: