jellyfin/Emby.Naming/Extensions/StringExtensions.cs

31 lines
816 B
C#
Raw Normal View History

2018-09-12 10:26:21 -07:00
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();
}
}
}