Ruby: sort UTF8 Strings alphabetical via Enumerable extension
MIT License
Adds sort_alphabetical
and sort_alphabetical_by
to Enumberable(Array/Hash...),
which sorts UTF8 Strings alphabetical.
This sorting is done by placing variants on the same level as base character (A comes before Ä but ÄA comes before AB).
gem install sort_alphabetical
['b','á'].sort_alphabetical == ['á','b']
[['b',1],['á',2]].sort_alphabetical_by(&:first) == [['á',2],['b',1]]
SortAlphabetical.normalize('á') == 'a'
Use ICU
collator = ICU::Collation::Collator.new("nb")
array.sort! { |a,b| collator.compare(a, b) }
['a11', 'a2'] => ['a2', 'a11']
like NaturalSort
=======
Michael Grosser [email protected] License: MIT