代码之家  ›  专栏  ›  技术社区  ›  Adnan

在Java中验证字符串的语句

  •  2
  • Adnan  · 技术社区  · 14 年前

    我有一根绳子;

    String allIn = "(50 > 100) AND (85< 100)";
    

    现在我需要评估里面的条件是真是假,我该怎么做呢?

    实际上,字符串将是数据库中某个字段的值,在这里我将替换不同的值,这些值将形成如上所示的字符串。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Bozho    14 年前
        2
  •  0
  •   Robben_Ford_Fan_boy    14 年前

    对我来说,这看起来像一个“编译器设计”问题,你在哪里:

    • 使用空格将字符串解析为各个组件,<>和或!=定界符
    • 遇到值时,将其推到堆栈
    • 遇到运算符时从堆栈中弹出并获取表达式的下一部分

    但就我个人而言,如果可能的话,我会沿着eval路径走(如前面所述),即使这意味着必须更改字符串的当前语法,或者解析和转换语法:

    https://eval.dev.java.net/