diff options
| author | Bond-009 <bond.009@outlook.com> | 2021-06-12 00:20:54 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-12 00:20:54 +0200 |
| commit | cfad97ff28339088ab86c40661bb407024285a7c (patch) | |
| tree | 152c04363e23e233229a7b40080d388a13046657 /MediaBrowser.Controller/Extensions/StringExtensions.cs | |
| parent | adf406b1821800bbf1b214c4ac673defa362e4f4 (diff) | |
| parent | 66de8428960ec751521386c27e37909cf73add9e (diff) | |
Merge pull request #6096 from cvium/saving_private_ram
Diffstat (limited to 'MediaBrowser.Controller/Extensions/StringExtensions.cs')
| -rw-r--r-- | MediaBrowser.Controller/Extensions/StringExtensions.cs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Extensions/StringExtensions.cs b/MediaBrowser.Controller/Extensions/StringExtensions.cs index 1853896ee..291485e75 100644 --- a/MediaBrowser.Controller/Extensions/StringExtensions.cs +++ b/MediaBrowser.Controller/Extensions/StringExtensions.cs @@ -22,6 +22,27 @@ namespace MediaBrowser.Controller.Extensions return Normalize(string.Concat(chars), NormalizationForm.FormC); } + /// <summary> + /// Counts the number of occurrences of [needle] in the string. + /// </summary> + /// <param name="value">The haystack to search in.</param> + /// <param name="needle">The character to search for.</param> + /// <returns>The number of occurrences of the [needle] character.</returns> + public static int CountOccurrences(this ReadOnlySpan<char> value, char needle) + { + var count = 0; + var length = value.Length; + for (var i = 0; i < length; i++) + { + if (value[i] == needle) + { + count++; + } + } + + return count; + } + private static string Normalize(string text, NormalizationForm form, bool stripStringOnFailure = true) { if (stripStringOnFailure) |
