2つの値を解析して加算するにはどうすればよいですか?このパターンを使用します:
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 以降) を使用して、次のように文字列から計算を行うことができます。
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);