Posts Tagged ‘C# Diacritics string convertion’

C#, .NET and Diacritics

Monday, May 3rd, 2010
Autor: nuno.lourenco


Talvez se perguntem, hein? Pois a ideia é saber “converter” texto com acentuação e não só, pelo corresponde texto sem acentuação. Ora dito isto o que se quer:

  1. âãäåçèéêë –> aaaaceeee
  2. ìíîïðñòó –> iiiiðnoo
  3. ôõöùúûüý –> ooouuuuy

Ora então o código que possibilita a alteração:

 1:  public string RemoveDiacritics(string input)
 2: {
 3:  string stFormD = input.Normalize(NormalizationForm.FormD);
 4: var sb = new StringBuilder();
 5:  
 6:  for (int i = 0; i < stFormD.Length; i++)
 7: {
 8: UnicodeCategory uc = CharUnicodeInfo.GetUnicodeCategory(stFormD[i]);
 9:  if (uc != UnicodeCategory.NonSpacingMark)
 10: {
 11: sb.Append(stFormD[i]);
 12: }
 13: }
 14:  
 15:  return (sb.ToString().Normalize(NormalizationForm.FormC));
 16: }

Happy Coding :)

ref: Michael Kaplan blog


Better Tag Cloud