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 : Sélectionner tout - Visualiser dans une fenêtre à part
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