Remove diacritics from a string
Quick note
How to remove diacritics (accents) from a string?
public static string RemoveDiacritics(this string input)
{
var stFormD = input.Normalize(NormalizationForm.FormD);
var len = stFormD.Length;
var sb = new StringBuilder();
for (int i = 0; i < len; i++)
{
var uc = System.Globalization.CharUnicodeInfo.GetUnicodeCategory(stFormD[i]);
if (uc != System.Globalization.UnicodeCategory.NonSpacingMark)
{
sb.Append(stFormD[i]);
}
}
return (sb.ToString().Normalize(NormalizationForm.FormC));
}
Bonus track
How to remove in TSQL (Microsoft SQL Server)
SELECT 'àéêöhello!' Collate SQL_Latin1_General_CP1253_CI_AI
See you soon! :D

Lluis Franco
Resistance is futile.
Categories