bonjour,

j'ai un problème avec le remplacement de caractères particuliers par d'autres caractères dans une chaine. En effet, j'utilise un bout de code intéressant mais relativement long à l'exécution, en fonction de la taille de la chaine à "nettoyer".

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
 
public string remplaceCaracteres(String chaine){
            // déclaration des tableaux, source et destination
            string accent       = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç°";
            string sansAccent   = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuyNnCc-";
 
            // Conversion des chaines en tableaux de caractères
            char[] tableauAccent = accent.ToCharArray(); 
            char[] tableauSansAccent = sansAccent.ToCharArray();
 
            // pour tous les caractères à tester
            for(int i=0; i < accent.Length; i++){
                // Remplacement de l'accent par son équivalent sans accent dans la chaîne de caractères
                chaine = chaine.Replace(tableauAccent[i].ToString(), tableauSansAccent[i].ToString());
            }
 
            return chaine;
        }
Ca marche bien, mais c'est lent...

Connaissez-vous une manière plus rapide pour traiter ce genre de problème? Par exemple en utilisant une méthode dont j'ignore jusqu'à l'existance

Merci beaucoup pour les réponses qui vont suivre...

....Loïc