Le RemoveDiacritics

Parfois, il arrive que l’on souffre de l’absence de certaines méthodes que l’on pense essentielles au Framework .NET. En ce qui me concerne, c’est le cas avec la classe String lorsque l’on souhaite « normaliser » notre chaîne de façon à supprimer tout accents.

Cette méthode peut s’avérer utile dans de nombreux cas, c’est pourquoi je souhaite partager avec vous une méthode qui fait le job à la perfection, que j’ai d’ailleurs vu sur Stackoverflow :

static string RemoveDiacritics(string stIn) {
  string stFormD = stIn.Normalize(NormalizationForm.FormD);
  StringBuilder sb = new StringBuilder();
 
  for(int ich = 0; ich < stFormD.Length; ich++) {
    UnicodeCategory uc = CharUnicodeInfo.GetUnicodeCategory(stFormD[ich]);
    if(uc != UnicodeCategory.NonSpacingMark) {
      sb.Append(stFormD[ich]);
    }
  }
 
  return(sb.ToString().Normalize(NormalizationForm.FormC));
}

J’espère que ceci vous sera utile !

[Source]


Pas encore de commentaires

Laisser un commentaire