【问题标题】:Sort list of string with localization in scala在scala中对具有本地化的字符串列表进行排序
【发布时间】:2014-09-11 15:58:32
【问题描述】:
我想对字符串列表进行排序。我知道这在 scala 中并不难,但我的问题是,我需要对不同语言的列表进行排序。例如,我知道我可以很容易地对英文字符串进行排序。但是俄语或罗马尼亚语呢?
在scala中对多种语言的字符串进行排序的最佳实践是什么? scala排序实现是否只支持英文字母?
在java中我会做这样的事情:
Collator coll = Collator.getInstance(locale);
coll.setStrength(Collator.PRIMARY)
Collections.sort(words, coll);
我希望有人可以帮助我。在此先感谢 Nico。
【问题讨论】:
标签:
string
scala
sorting
localization
internationalization
【解决方案1】:
这里没有什么不同:)。 Collator 是可比较的,因此您将其转换为 Ordering,然后将其用于排序。
scala> val ord = Ordering.comparatorToOrdering(Collator.getInstance(Locale.FRENCH));
ord: scala.math.Ordering[Object] = scala.math.LowPriorityOrderingImplicits$$anon$7@759fad4
scala> Seq("deux","Bonsoir","Merci").sorted(ord)
res13: Seq[String] = List(Bonsoir, deux, Merci)