Is there any way to parse strings which include logical
or operators and get result as true or false in java? For example
(1 OR 0 AND 1 AND 0 OR(0 AND 0))
I couldn’t find any library. Actually I have some ideas but they are so complex. Maybe some easier way?
You could use already mentioned script engine:
or spring expression language:
String data = "(true OR false AND true AND false OR(false AND false))"; ExpressionParser parser = new SpelExpressionParser(); Expression exp = parser.parseExpression(data); result = exp.getValue(); System.out.println(result);
Please note, that in both cases there was needed to modify original expression by replacing eighter lofical operators or logical constants.