我在使用 groovy 评估 java 表达式时遇到了困难。下面是我必须动态推送替换语句并对其进行评估的代码。replaceSpecialChars 值来自用户输入。
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("groovy");
String text = "Disa";
System.out.println(text); //1
text = text.replace("s", "");
System.out.println(text); //2
String removeSpecialChars = ".replace('a','')";
text = text + removeSpecialChars;
System.out.println(text); //3
engine.put("first", text);
System.out.println(engine.eval("first")); //4
4 个系统输出 -
Disa
Dia
Dia.replace('a','')
Dia.replace('a','')
预期产出 -
Disa
Dia
Dia.replace('a','')
Di
相关分类