optimisation pour un remplacement d'accents
Bonjour,
Voila , je veux remplacer les caractères accentués d'une chaine par leur équivalent sans accents ainsi que remplacer les caracs spéciaux par un underscore.
Pour le moment je fais ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
Regex regexTitle;
string accents, nameFile ;
string rgTitle = @"[\\\/:\*\?""<>|%',.' '\-]";
regexTitle = new Regex(rgTitle);
nameFile = regexTitle.Replace(nameFile, "_");
accents = @"[àâäåãáÂÄÀÅÃÁæÆ]";
regexTitle = new Regex(accents);
nameFile = regexTitle.Replace(nameFile, "a");
accents = @"[çÇ]";
regexTitle = new Regex(accents);
nameFile = regexTitle.Replace(nameFile, "c");
accents = @"[éèêëÉÊËÈ]";
regexTitle = new Regex(accents);
nameFile = regexTitle.Replace(nameFile, "e");
accents = @"[ïîìíÏÎÌÍ]";
regexTitle = new Regex(accents);
nameFile = regexTitle.Replace(nameFile, "i");
accents = @"[ñÑ]";
regexTitle = new Regex(accents);
nameFile = regexTitle.Replace(nameFile, "n");
accents = @"[öôóòõÓÔÖÒÕ]";
regexTitle = new Regex(accents);
nameFile = regexTitle.Replace(nameFile, "o");
accents = @"[]";
regexTitle = new Regex(accents);
nameFile = regexTitle.Replace(nameFile, "s");
accents = @"[ùûüúÜÛÙÚ]";
regexTitle = new Regex(accents);
nameFile = regexTitle.Replace(nameFile, "u");
accents = @"[ýÿ]";
regexTitle = new Regex(accents);
nameFile = regexTitle.Replace(nameFile, "y");
accents = @"[]";
regexTitle = new Regex(accents);
nameFile = regexTitle.Replace(nameFile, "z"); |
je ne trouve pas ça très optimisé, et je voulais savoir si vous pouviez m'éclairer un peu sur la bonne marche à suivre pour remplacer ces caractères de façon optimale
d'avance merci pour votre réponse