我如何解析和添加两个值? 我使用这种模式:
String s = "6 + 7 =";
包含的间距,我需要得到“13”
可以使用正则表达式,还是有其他方法可以轻松地完成此操作?
提前感谢您的帮助。
答案 0 :(得分:2)
如果你想使用正则表达式,你可以这样做:
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)));
}
答案 1 :(得分:1)
它必须是正则表达式吗?如果不是,您可以使用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);