1

現在、式の評価には Jeks パーサーを使用しています。それを使用して文字列式を評価する方法がわかりません-たとえば:

IF( "テスト 1" = "テスト 2")

Java で文字列と数式を評価できるものはありますか? できれば無料またはオープンソース。

助けてくれてありがとう、

アンデス

4

2 に答える 2

1

式を評価するツールはたくさんあります。正しい答えは、正確な目標によって異なります。

私が見たい2つのこと:

于 2010-09-30T16:07:22.893 に答える
0

答えは、Jeks フォーラムへの投稿でした。麻生さんから返事が来ました。登録できなかったので、特にアクティブではないと思っていましたが、ソートされました。

しかし、誰かが同じ問題を抱えている場合は、次のコード行で機能します。

ExpressionParser parser; // we did have = new ExpressionParser(new JeksExpressionSyntax(), null);
JeksInterpreter interpreter; // 

インタプリタを作成するには:

interpreter = new JeksInterpreter() {

      @Override
      public Object getBinaryOperatorValue (Object binaryOperatorKey, Object param1, Object param2)
      {
        // Only functions may take a cell set as parameter
        if ( param1 instanceof JeksCellSet || param2 instanceof JeksCellSet)
          throw new IllegalArgumentException ();
        // Enabled comparison between any type supported by Jeks
        else if (binaryOperatorKey.equals (JeksExpressionSyntax.OPERATOR_EQUAL))
          return param1 != null && param1.equals (param2)
                   ? Boolean.TRUE : Boolean.FALSE;
        // Enabled comparison between any type supported by Jeks
        else if (binaryOperatorKey.equals (JeksExpressionSyntax.OPERATOR_DIFFERENT))
          return param1 != null && param1.equals (param2) ? Boolean.FALSE : Boolean.TRUE;
        else
          return super.getBinaryOperatorValue (binaryOperatorKey, param1, param2);
      }
    };

    parser = new ExpressionParser(new JeksExpressionSyntax(), null);
于 2010-10-14T15:11:49.900 に答える