• [^] # Re: Et les accents (bug ?)

    Posté par . En réponse au journal Mon petit jeu pour navigateur et (pas grand chose de) plus. Évalué à 7.

    Je profite de ton message pour expliquer un peu le fonctionnement de la recherche des mots dans le dictionnaire. Comme tu peux le voir, j'ai généré un fichier dictionnaire par langue (http://fr.orange-pagesperso.pagesperso-orange.fr/begglo/dict.fr.json, http://fr.orange-pagesperso.pagesperso-orange.fr/begglo/dict.en.json ...).

    Chaque fichier JSON contient un tableau associatif ayant pour clé la longueur des mots (3, 4 et 5). En valeurs il y a liste des mots possibles au format "clé mot".

    Afin d'optimiser le temps de recherche, chaque mot est transformé en clé via la moulinette suivante :
    - Remplacement des caractères accentués par la version sans accent (èéê=>e, à=>a ...)
    - Tri des lettres pour générer une "clé"

    Par exemple ça va donner pour les mots "laper", "parle", "parlé", "perla" la même clé "aelpr".

    Donc pour trouver tous les mots correspondants à cette clé je n'ai qu'à parcourir les différents tableaux (mots de 3, 4 et 5 lettres) et chercher les éléments correspondant à la RegExp "a?e?l?p?r".

    C'est donc grâce à cette technique que je peux retrouver les différentes versions accentuées d'une même graphie sans accent (aeegr=>agrée, agréé, égare, égaré, garée, ragée).