fork(1) download
  1. using System;
  2. using System.Text;
  3. using System.Text.RegularExpressions;
  4. using System.Globalization;
  5. using System.Linq;
  6.  
  7. public class Program
  8. {
  9. public static void Main()
  10. {
  11. string rawInput = "ἀἁἂἃἄἅἆἇὰάᾀᾁᾂᾃᾄᾅᾆᾇᾰᾱᾲᾳᾴᾶᾷᾶ";
  12. Console.WriteLine(rawInput);
  13. string normalizedInput = Utility.RemoveDiacritics(rawInput);
  14.  
  15. string pattern = "α+";
  16.  
  17. var result = Regex.Matches(normalizedInput, pattern);
  18. if(result.Count > 0)
  19. Console.WriteLine(result[0]);
  20.  
  21. }
  22. }
  23.  
  24. public static class Utility
  25. {
  26. public static string RemoveDiacritics(this string str)
  27. {
  28. if (null == str) return null;
  29. var chars =
  30. from c in str.Normalize(NormalizationForm.FormD).ToCharArray()
  31. let uc = CharUnicodeInfo.GetUnicodeCategory(c)
  32. where uc != UnicodeCategory.NonSpacingMark
  33. select c;
  34.  
  35. return new string(chars.ToArray()).Normalize(NormalizationForm.FormC);
  36. }
  37.  
  38. }
  39.  
Success #stdin #stdout 0.04s 21388KB
stdin
Standard input is empty
stdout
ἀἁἂἃἄἅἆἇὰάᾀᾁᾂᾃᾄᾅᾆᾇᾰᾱᾲᾳᾴᾶᾷᾶ
αααααααααααααααααααααααααα