如何解析和添加两个值?我使用这种模式:
String s = "6 + 7 =";
包括间距,我需要得到“13”
可以使用正则表达式,还是有其他方法可以轻松做到这一点?
提前感谢您的帮助。
如果你想使用正则表达式,你可以这样做:
Pattern pattern = Pattern.compile("(\\d+)\\s*\\+\\s*(\\d+)\\s*=");
Matcher matcher = pattern.matcher("6 + 7 =");
if (matcher.matches()) {
System.out.println(Integer.valueOf(matcher.group(1)) + Integer.valueOf(matcher.group(2)));
}
它必须是正则表达式吗?如果没有,您可以使用 JavaScript 引擎(自 Java 1.6 起)从 String 进行计算,例如:
ScriptEngineManager factory = new ScriptEngineManager();
// create a JavaScript engine
ScriptEngine engine = factory.getEngineByName("JavaScript");
Double d=(Double)engine.eval("1 + 2 * 3");
System.out.println(d);