我在对包含带有特殊波兰字符的字符串的数组进行排序时遇到问题。我的代码如下所示:
["Łotwa", "Luksemburg", "Anglia"].sort_by{|x| ActiveSupport::Inflector.transliterate(x)}
这段代码给出了以下结果:
["Anglia", "Łotwa", "Luksemburg"]
但它应该看起来像这样:
["Anglia", "Luksemburg", "Łotwa"]
我尝试使用这些 gem :
https://github.com/grosser/sort_alphabetical
https://github.com/jarib/ffi-icu
但他们没有解决这个问题。问题是由特殊的波兰字符“Ł”
引起的。
最佳答案
您可以使用string_case_pl gem :
require 'string_cmp_pl'
%w(Anglia Litwa Zanzibar Łotwa).sort
# => ["Anglia", "Litwa", "Łotwa", "Zanzibar"]
关于ruby-on-rails - 对具有波兰语字符的字符串数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24931050/