diff options
Diffstat (limited to 'Emby.Naming/Extensions/StringExtensions.cs')
| -rw-r--r-- | Emby.Naming/Extensions/StringExtensions.cs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Emby.Naming/Extensions/StringExtensions.cs b/Emby.Naming/Extensions/StringExtensions.cs new file mode 100644 index 000000000..e773dbfe8 --- /dev/null +++ b/Emby.Naming/Extensions/StringExtensions.cs @@ -0,0 +1,30 @@ +using System; +using System.Text; + +namespace Emby.Naming.Extensions +{ + public static class StringExtensions + { + public static string Replace(this string str, string oldValue, string newValue, StringComparison comparison) + { + var sb = new StringBuilder(); + + var previousIndex = 0; + var index = str.IndexOf(oldValue, comparison); + + while (index != -1) + { + sb.Append(str.Substring(previousIndex, index - previousIndex)); + sb.Append(newValue); + index += oldValue.Length; + + previousIndex = index; + index = str.IndexOf(oldValue, index, comparison); + } + + sb.Append(str.Substring(previousIndex)); + + return sb.ToString(); + } + } +} |
