[Func] _ChaineSansAccents

Partagez des fonctions et des UDF AutoIt.
Règles du forum
.
Répondre
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

[Func] _ChaineSansAccents

#1

Message par Tlem »

Permet de remplacer les caractères accentués par un caractère non accentué.

Code : Tout sélectionner

Func _ChaineSansAccents($sString)
    ; Les caractères exotiques d'autres langues ne sont pas pris en compte.
    ; Complètez les tableaux si dessous pour prendre en compte d'autres types
    ; de caractères accentués.
    Dim $Var1[27] = ["à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï", "ò", "ó", "ô", "ö", "ù", "ú", "û", "ü", "ý", "ÿ", "œ"]
    Dim $Var2[27] = ["a", "a", "a", "a", "a", "a", "ae", "c", "e", "e", "e", "e", "i", "i", "i", "i", "o", "o", "o", "o", "u", "u", "u", "u", "y", "y", "oe"]

    For $i = 0 To UBound($Var1) - 1
        $sString = StringRegExpReplace($sString, $Var1[$i], $Var2[$i])
        $sString = StringRegExpReplace($sString, StringUpper($Var1[$i]), StringUpper($Var2[$i]))
    Next
    Return $sString
EndFunc   ;==>_SansAccents
 
Exemple d'utilisation :

Code : Tout sélectionner

MsgBox(0, "", _ChaineSansAccents("àáâãäåæçèéêëìíîïòóôöùúûüýÿœ"))
MsgBox(0, "", _ChaineSansAccents("ÀÁÂÄ"))
 
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre