Un exemple concrêt de mon problème
script/console
>> ["az","aea","aéb"].sort
=> ["aea", "az", "aéb"]
Bien sur, j'aimerais obtenir
["aea", "aéb", "az"]
Je n'ai pas su obtenir de réponse rapidement avec google, je m'en remet
donc à vos lumières!
Seb
Juste pour la forme, voici une version utilisant la libraire 'unicode'
plutôt que 'htmlentities', et avec un peu de magie :) La fonction n'est
pas de moi, elle avait été postée l'année dernière sur la ML Rubyfr-public.
Le 22.01.2009 21:04, Gregoire LEJEUNE a écrit :
> Voici une solution...
>
> class String
> def no_accent
> require 'rubygems'
> require 'htmlentities'
>
> HTMLEntities.new.encode( self, :named ).gsub(
> /\&([A-za-z])(?:acute|cedil|circ|grave|ring|tilde|uml)\;/, '\1'
> ).gsub( /\&([A-za-z]{2})(?:lig)\;/, '\1' ).gsub( /\&[^;]+\;/, '' )
> end
> end
>
> ["az","aea","aéb"].sort { |x, y| x.no_accent<=> y.no_accent }
>
> Greg
>
> Le 22 janvier 2009 19:55, Sébastien Lamy<lamy...@free.fr> a écrit :
>
>> Y-a-t-il une solution simple et propre pour trier un ensemble de chaines
>> de caractère contenant des accent?
>>
>> Un exemple concrêt de mon problème
>>
>> script/console
>> >> ["az","aea","aéb"].sort
>> => ["aea", "az", "aéb"]
>>
>> Bien sur, j'aimerais obtenir
>> ["aea", "aéb", "az"]
>>
--
Farzad FARID / Architecte Open Source - Associé
Pragmatic Source / http://www.pragmatic-source.com
Tel : +33 9 53 19 21 90 / Mob : +33 6 03 70 65 46