首页 > 解决方案 > 在不使用脚本引擎的情况下评估 kotlin 中的字符串表达式

问题描述

我想在不使用脚本引擎的情况下评估字符串表达式:

字符串表达式可以是:

“((真&&(!假)||真)&&真)&&真”

任何人都知道如何使用 kotlin 在 android 中完成此操作

谢谢

标签: javaandroidstringkotlinexpression

解决方案


我知道在您的字符串表达式包含 true、false、&&、||、的情况下,我的回答对您没有帮助。和 ()。但是对于那些想要评估数学表达式的人,我发现这个库可以处理几乎所有的数学运算符。

将其添加到您的项目中并以这种方式使用它

    // In root build.gradle
    repositories {
    maven {
        url  "https://dl.bintray.com/kaendagger/KParser"
          }
    } 

    //Add in the dependencies
    dependencies{
     implementation 'io.kaen.dagger:KParser-jvm:0.1.1'
    }

然后在你的代码中你可以做这样的事情

val parser = ExpressionParser()
val result = parser.evaluate("5+1+cos(PI)-2*2/4")
println(result)

推荐阅读