diff options
| author | Claus Vium <cvium@users.noreply.github.com> | 2021-06-22 12:25:59 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-22 12:25:59 +0200 |
| commit | 94056049131a8573d7a4d0690da04c0e8bc240ad (patch) | |
| tree | bbc4ca6ed13ca7f7f7308a477da3d44a460c8624 /MediaBrowser.Controller/Extensions/StringExtensions.cs | |
| parent | a41065a248d1f18ea713560fd6612f962368f7fb (diff) | |
| parent | 981cf4cfa0d45a3654578a1989738fc82469c889 (diff) | |
Merge pull request #6174 from Bond-009/diacritics
Remove our own RemoveDiacritcs string extension in favor of Diacritics.Net
Diffstat (limited to 'MediaBrowser.Controller/Extensions/StringExtensions.cs')
| -rw-r--r-- | MediaBrowser.Controller/Extensions/StringExtensions.cs | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/MediaBrowser.Controller/Extensions/StringExtensions.cs b/MediaBrowser.Controller/Extensions/StringExtensions.cs deleted file mode 100644 index 48bd9522a..000000000 --- a/MediaBrowser.Controller/Extensions/StringExtensions.cs +++ /dev/null @@ -1,52 +0,0 @@ -#pragma warning disable CS1591 - -using System; -using System.Globalization; -using System.Linq; -using System.Text; -using System.Text.RegularExpressions; - -namespace MediaBrowser.Controller.Extensions -{ - /// <summary> - /// Class BaseExtensions. - /// </summary> - public static class StringExtensions - { - public static string RemoveDiacritics(this string text) - { - var chars = Normalize(text, NormalizationForm.FormD) - .Where(ch => CharUnicodeInfo.GetUnicodeCategory(ch) != UnicodeCategory.NonSpacingMark); - - return Normalize(string.Concat(chars), NormalizationForm.FormC); - } - - private static string Normalize(string text, NormalizationForm form, bool stripStringOnFailure = true) - { - if (stripStringOnFailure) - { - try - { - return text.Normalize(form); - } - catch (ArgumentException) - { - // will throw if input contains invalid unicode chars - // https://mnaoumov.wordpress.com/2014/06/14/stripping-invalid-characters-from-utf-16-strings/ - text = Regex.Replace(text, "([\ud800-\udbff](?![\udc00-\udfff]))|((?<![\ud800-\udbff])[\udc00-\udfff])", string.Empty); - return Normalize(text, form, false); - } - } - - try - { - return text.Normalize(form); - } - catch (ArgumentException) - { - // if it still fails, return the original text - return text; - } - } - } -} |
