2014-07-21 3 views
7

Ich möchte eine Liste von Zeichenfolgen sortieren. Ich weiß, dass das in scala nicht schwer ist, aber mein Problem ist, dass ich Listen in verschiedenen Sprachen sortieren muss. Zum Beispiel weiß ich, dass ich Strings in Englisch sehr leicht sortieren kann. Aber was ist mit der russischen Sprache oder der rumänischen Sprache? Was ist die beste Methode zum Sortieren von Strings in mehreren Sprachen in Scala? Unterstützt die scala sorting-Implementierung nur englische Buchstaben?Sortierliste der Zeichenfolge mit Lokalisierung in der Scala

In Java würde ich so etwas tun:

Collator coll = Collator.getInstance(locale); 
coll.setStrength(Collator.PRIMARY) 
Collections.sort(words, coll); 

Ich hoffe jemand da draußen kann mir helfen. Vielen Dank im Voraus Nico.

Antwort

6

Nichts anderes hier :). Collator ist ein vergleichbares, also wandeln Sie es in ein Ordering um und verwenden Sie es dann zum Sortieren.

scala> val ord = Ordering.comparatorToOrdering(Collator.getInstance(Locale.FRENCH)); 
ord: scala.math.Ordering[Object] = [email protected] 

scala> Seq("deux","Bonsoir","Merci").sorted(ord) 
res13: Seq[String] = List(Bonsoir, deux, Merci) 
Verwandte Themen