Merci lionel pour ta fonction de remplacement de caractères.
Voici donc le code finalisé de cette fonction de tri basé sur les
conseils d'eka :
Dans ma classe ArrayUtil -> ajout d'une nouvelle méthode pour trier
/**
* Return alphabetically sorted array based on an array that contains
some specials char
* like éàè...
* @param a
* @return
*/
public static function asortNotUnicode(a : Array) : Array
{
var copy:Array = uniqueCopy( a );
var len:int = copy.length;
var dic:Dictionary = new Dictionary(); // make a temp dictionary for
stocking index of real elements
var result:Array = new Array(); // returned array correctly sorted
// remove accent and register index in dictionary
for(var i:int = 0; i < len; i++)
{
copy[i] = StringUtil.removeAccent( copy[i] );
dic[ copy[i] ] = i;
}
// sorting
copy.sort();
// setup final array
for(i=0; i < len; i++)
{
result.push( a[ dic[copy[i] ] ]);
}
return result;
}
et je remets la fonction de lionel intégré dans StringUtil (pourquoi
Lemme ? )
public static function removeAccent(str : String) : String
{
var a1:String =
"ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿñ";
var a2:String =
"aaaaaaceeeeiiiiooooouuuuyaaaaaaceeeeiiiioooooouuuuyyn";
for (var i:int = 0; i< a1.length; i++)
{
str = str.replace(a1.charAt(i), a2.charAt(i));
}
return str;
}
je suis preneur de toute suggestions bien sur.
merci et a+
Fred :)
--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes FCNG.
Pour envoyer un message à ce groupe, adressez un e-mail à [email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
[email protected].
Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/fcng?hl=fr