diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-01-17 15:12:02 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-01-17 15:12:02 -0500 |
| commit | d26707708d7b396d0eb4a61035a30f7bfbcb33f8 (patch) | |
| tree | fabeb9d52e37613938670090967e8f81fafcdb01 /MediaBrowser.Model/Extensions/StringHelper.cs | |
| parent | a8da86d059c0a9ba724bfcf11166d1b32406ca89 (diff) | |
move string.Replace extension
Diffstat (limited to 'MediaBrowser.Model/Extensions/StringHelper.cs')
| -rw-r--r-- | MediaBrowser.Model/Extensions/StringHelper.cs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/MediaBrowser.Model/Extensions/StringHelper.cs b/MediaBrowser.Model/Extensions/StringHelper.cs index 206723467..99bec68a7 100644 --- a/MediaBrowser.Model/Extensions/StringHelper.cs +++ b/MediaBrowser.Model/Extensions/StringHelper.cs @@ -1,5 +1,6 @@ using System; using System.Globalization; +using System.Text; using System.Text.RegularExpressions; namespace MediaBrowser.Model.Extensions @@ -94,5 +95,35 @@ namespace MediaBrowser.Model.Extensions { return new Regex(term).Split(str, limit); } + + /// <summary> + /// Replaces the specified STR. + /// </summary> + /// <param name="str">The STR.</param> + /// <param name="oldValue">The old value.</param> + /// <param name="newValue">The new value.</param> + /// <param name="comparison">The comparison.</param> + /// <returns>System.String.</returns> + 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(); + } } } |
