private static string ReplaceWithRegExp(string thisob, RegExpObject regExpObject, object replacement) { RegExpReplace replace = (replacement is ScriptFunction) ? ((RegExpReplace) new ReplaceUsingFunction(regExpObject.regex, (ScriptFunction)replacement, thisob)) : ((RegExpReplace) new Microsoft.JScript.ReplaceWithString(Microsoft.JScript.Convert.ToString(replacement))); MatchEvaluator evaluator = new MatchEvaluator(replace.Evaluate); string str = regExpObject.globalInt ? regExpObject.regex.Replace(thisob, evaluator) : regExpObject.regex.Replace(thisob, evaluator, 1); regExpObject.lastIndexInt = (replace.lastMatch == null) ? 0 : regExpObject.regExpConst.UpdateConstructor(regExpObject.regex, replace.lastMatch, thisob); return(str); }
private static String ReplaceWithRegExp(String thisob, RegExpObject regExpObject, Object replacement) { RegExpReplace replacer = replacement is ScriptFunction ? (RegExpReplace)(new ReplaceUsingFunction(regExpObject.regex, (ScriptFunction)replacement, thisob)) : (RegExpReplace)(new ReplaceWithString(Convert.ToString(replacement))); MatchEvaluator matchEvaluator = new MatchEvaluator(replacer.Evaluate); String newString = regExpObject.globalInt ? regExpObject.regex.Replace(thisob, matchEvaluator) : regExpObject.regex.Replace(thisob, matchEvaluator, 1); regExpObject.lastIndexInt = replacer.lastMatch == null ? 0 : regExpObject.regExpConst.UpdateConstructor(regExpObject.regex, replacer.lastMatch, thisob); return(newString); }