diff options
| author | Claus Vium <cvium@users.noreply.github.com> | 2022-12-29 10:16:27 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-29 10:16:27 +0100 |
| commit | d7992bda674573834e49d5e2b2112bdb42c72ffc (patch) | |
| tree | a09a4cf123776bd9abddb0e7b1b2f18df07c5b7e /src/Jellyfin.Extensions/StringExtensions.cs | |
| parent | 8de052646ca0a852dcad03069a1904433f909653 (diff) | |
| parent | 7c77ba529c057b227b1597c408192334eb78aff4 (diff) | |
Merge pull request #8964 from Bond-009/diacritics
Use Diacritics.NET
Diffstat (limited to 'src/Jellyfin.Extensions/StringExtensions.cs')
| -rw-r--r-- | src/Jellyfin.Extensions/StringExtensions.cs | 24 |
1 files changed, 4 insertions, 20 deletions
diff --git a/src/Jellyfin.Extensions/StringExtensions.cs b/src/Jellyfin.Extensions/StringExtensions.cs index b19be071b..f30b63945 100644 --- a/src/Jellyfin.Extensions/StringExtensions.cs +++ b/src/Jellyfin.Extensions/StringExtensions.cs @@ -20,23 +20,8 @@ namespace Jellyfin.Extensions /// <param name="text">The string to act on.</param> /// <returns>The string without diacritics character.</returns> public static string RemoveDiacritics(this string text) - { - string withDiactritics = _nonConformingUnicode - .Replace(text, string.Empty) - .Normalize(NormalizationForm.FormD); - - var withoutDiactritics = new StringBuilder(); - foreach (char c in withDiactritics) - { - UnicodeCategory uc = CharUnicodeInfo.GetUnicodeCategory(c); - if (uc != UnicodeCategory.NonSpacingMark) - { - withoutDiactritics.Append(c); - } - } - - return withoutDiactritics.ToString().Normalize(NormalizationForm.FormC); - } + => Diacritics.Extensions.StringExtensions.RemoveDiacritics( + _nonConformingUnicode.Replace(text, string.Empty)); /// <summary> /// Checks whether or not the specified string has diacritics in it. @@ -44,9 +29,8 @@ namespace Jellyfin.Extensions /// <param name="text">The string to check.</param> /// <returns>True if the string has diacritics, false otherwise.</returns> public static bool HasDiacritics(this string text) - { - return !string.Equals(text, text.RemoveDiacritics(), StringComparison.Ordinal); - } + => Diacritics.Extensions.StringExtensions.HasDiacritics(text) + || _nonConformingUnicode.IsMatch(text); /// <summary> /// Counts the number of occurrences of [needle] in the string. |
