aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Extensions/StringExtensions.cs
diff options
context:
space:
mode:
authorClaus Vium <cvium@users.noreply.github.com>2021-06-22 12:25:59 +0200
committerGitHub <noreply@github.com>2021-06-22 12:25:59 +0200
commit94056049131a8573d7a4d0690da04c0e8bc240ad (patch)
treebbc4ca6ed13ca7f7f7308a477da3d44a460c8624 /MediaBrowser.Controller/Extensions/StringExtensions.cs
parenta41065a248d1f18ea713560fd6612f962368f7fb (diff)
parent981cf4cfa0d45a3654578a1989738fc82469c889 (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.cs52
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;
- }
- }
- }
-}