using System; using System.Linq; using System.Text; class Program { private static void Main() { var replaceCodes = new[] { "rown", "he", " j" }; var sb = new StringBuilder().Append("The quick brown fox jumps over the lazy dog"); var outStr = replaceCodes.Aggregate(sb, StringBilderCleaner).ToString(); Console.WriteLine(outStr); } static StringBuilder StringBilderCleaner(StringBuilder sbStr, string rmStr) { var startIndex = 0; for (var i=0; i < sbStr.Length; i++) { var l = i - startIndex; if (l == rmStr.Length) { sbStr.Remove(startIndex, l); startIndex = i+1; }else if (rmStr[l] != sbStr[i]) startIndex = i+1; } return sbStr; } }