aiClasse le contenu d'une ou plusieurs listes de mots par ordre alphabétique croissant ou décroissant (Accents et Majuscules sont ignorés dans le classement) sortie sous de multiples aspects  concernant majuscules et accents).

Les fonctions ou méthodes des langages de programmation comparent deux chaînes, caractère par caractère, jusqu'à ce que soit détectée une différence ou que soit atteint le caractère de fin. On vérifie à chaque fois si les deux caractères à comparer occupent la même place ou non dans la table de codes ASCII. Un caractère est supérieur s'il occupe une place plus élevée dans la table et inférieur s'il occupe une place moins élevée, ils sont égaux s'ils ont la même position.

Codes ASCII pour quelques lettres en décimal :

 E 69, K 75, T 84, a 97, e 101, o 111, r 114, È 200, É 201, Ê 203 è 232, é 233, ê 234

Pour la liste à trier : KÉPI, roumain, TÊTE, félin, récréation, aujourd'hui

- Voila ce que donne la méthode sort () Javascript qui trie les éléments d'un tableau par ordre croissant :

  • Avec majuscules et avec accents on obtient    KÉPI, TÊTE, aujourd'hui, félin, roumain, récréation
  • Sans majuscules et avec accents    aujourd'hui, félin, képi roumain, récréation, tête
  • Sans majuscules et sans accents     aujourd'hui, felin, kepi, recreation, roumain, tete
  • Seule la dernière solution (Sans majuscules et sans accents) est bien en ordre alphabétique croissant.

Comment constituer une liste pour l'utilisation du script :

Séparateurs
Pour séparer les mots, vous pouvez utiliser tous les caractères de ponctuation tel que , . ; : ! ? ou encore [ ] ( ) { } suivi d'une espace ou non, ne pas placer d'espace avant.
Les caractères CR retour chariot, LF saut de ligne forcé ainsi que TAB tabulation peuvent également être utilisés.
Un seul séparateur est utilisé dans la liste triée, il est détecté entre les 2 premiers mots puis est répété entre chaque mot de cette liste, il peut donc être différent des autres séparateurs. Par exemple, pour que la liste triée forme une colonne, utilisez les caractères CR ou LF, ces caractères peuvent même êtres précédés d'un signe de ponctuation qui sera répété en fin de ligne.

Dans un mot
L'espace et le tiret (trait d'union) seul ne sont pas considérés comme séparateur, à utiliser pour les mots composés. (si plusieurs espaces se suivent, le nombre sera ramené à une). Le caractère  ' apostrophe peut également être inséré dans un mot.
Exemple : royaume-uni, république tchèque, aujourd'hui
Remarque :  ne pas placer un mot composé comme "république tchèque"  en début de liste.

Exécution du script

Sélectionnez le ou les textes à traiter, (attention, le texte traité est remplacé par la liste triée).
Sur la ligne de saisie :

0 sans modif / 1 nomPropre / 2 petiteCapital / 3 toutMajAvecAccent / 4 toutMinAvecAccent / 5 toutMajSansAccent / 6 toutMinSansAccent / Reverse

La réponse par défaut est ordre croissant sans modif, Votre réponse doit comporter 1caractère au minimum ou 2 si la tettre r est présente, si vous répondez seulement r cela correspond à décroissant sans modif.

Exemple : KÉPI, roumain, TÊTE, félin, récréation, aujoud'hui

0    sans modif : aujoud'hui, félin, KÉPI, récréation, roumain, TÊTE

1    nomPropre : Aujoud'hui, Félin, KÉPI, Récréation, Roumain, TÊTE

2    petitesCapitales : Pcap2

3    toutMajAvecAccent : AUJOURD'HUI, FÉLIN, KÉPI, RÉCRÉATION, ROUMAIN, TÊTE

4    toutMinAvecAccent : aujourd'hui, félin, képi, récréation, roumain, tête

5    toutMajSansAccent : AUJOURD'HUI, FELIN, KEPI, RECREATION, ROUMAIN, TETE

6   toutMinSansAccent : aujourd'hui, felin, kepi, recreation, roumain, tete

Remarque concernant le texte du script :

Les lignes 170 à 174 comportent des caractères accentués, vérifiez si ces derniers sont conformes à liste ci dessous. (pas d'espace dans le motif entre ï et î)

170 chaine = chaine.replace(/[ùûü]/g,"u");
171 chaine = chaine.replace(/[àâä]/g,"a");
172 chaine = chaine.replace(/[éèêë]/g,"e");
173 chaine = chaine.replace(/[ï î]/g,"i");
174 chaine = chaine.replace(/[öô]/g,"o");

Vous n'avez pas la possibilité de poster un commentaire.
Seuls les membres enregistrés sont autorisés à commenter. Si vous êtes enregistré, veuillez vous connecter.

Suivez Scriptopedia.org

feed-image Suivez Scriptopedia.org

Scriptopedia sur facebook

À propos de Scriptopedia.org

Une idée de Loic Aigon mis en page par Eddy.VH se veut être une bibliothèque de scripts pour les produits Adobe orientés PAO. Vous y trouverez des scripts de type JavaScript pour Photoshop, Illustrator, inDesign et Acrobat et de type ATN ( Actions pour Photoshop ).