public void CalcByJsTest() { var expr = "'新时空' + 2栋"; var resp = CalcStringExpression.CalcByJs(expr); Console.WriteLine(resp); }
/// <summary> /// 计算表达式 /// </summary> /// <param name="val"></param> /// <param name="source"></param> public string CalcExpression(Func<string, string> source){ var expr = this.inner_value; var matchs = Regex.Matches(expr, EXPR_PATTERN); foreach (Match match in matchs) { var operand = match.Value; expr = expr.Replace($"@{operand}", source(operand)); } this.inner_value = CalcStringExpression.CalcByJs(expr); return this.inner_value; }