public static string Replace(this string obj, string matchString, string formatString, bool ignoreCase) { Regex regex; if (ignoreCase) { regex = new Regex(matchString, RegexOptions.IgnoreCase); } else { regex = new Regex(matchString); } var evaluator = new MatchEvaluator(match => Evaluators.Wrap(match, obj, formatString)); return(regex.Replace(obj, evaluator)); }