使用波兰字符对字符串数组进行排序

时间:2014-07-24 10:18:42

标签: ruby-on-rails ruby arrays

我有一个排序数组的问题,该数组包含具有特殊波兰字符的字符串。我的代码如下所示:

 ["Łotwa", "Luksemburg", "Anglia"].sort_by{|x| ActiveSupport::Inflector.transliterate(x)}

这段代码给了我以下结果:

["Anglia", "Łotwa", "Luksemburg"]

但它看起来应该是这样的:

["Anglia", "Luksemburg", "Łotwa"]

我尝试使用这些宝石:

https://github.com/grosser/sort_alphabetical
https://github.com/jarib/ffi-icu

但他们没有解决这个问题。问题是由特殊的波兰人角色"Ł"引起的。

1 个答案:

答案 0 :(得分:5)

您可以使用string_case_pl gem:

require 'string_cmp_pl'
%w(Anglia Litwa Zanzibar Łotwa).sort
# => ["Anglia", "Litwa", "Łotwa", "Zanzibar"]