using System.Globalization;
private static string RemoveZalgo(string input)
var normalized = input.Normalize(NormalizationForm.FormD).Normalize(NormalizationForm.FormC);
var cleaned = new string([.. normalized.Where(c => CharUnicodeInfo.GetUnicodeCategory(c) != UnicodeCategory.NonSpacingMark)]);
return cleaned.Normalize(NormalizationForm.FormC);
public static void Main()
var data = "Лящ Річковий Hel ⵉ๊๊ⵉ๊๊ⵉ H̵̡̳͇͈̻̩̟̣̮͙̗̗̬̝͍̹͒̃̓̇̎̒̉̀̃͐́ề̶̛͖̹͍͖̯̘̞̗̲̯̼̠̾̌̈́̑̅́͋̕͜͝ͅl̴̤̦̥̳̩̜͇̖̞͓̼̼͈̈̈́̆̈́l̶͙̹̬̟̻͍̜̣̬͕͙̥̅͊̆̇̃͋̓̊͜͝ ";
Console.WriteLine(RemoveZalgo(data));