我有NSString
:
n +(n - m)
我可以使用DDMathParser创建表达式对象。
例如,我有基本表达式n +(n - m),但我需要能够比较基本表达式n +(n - m)和用户表达式,例如(n - m)+ n通常也是相同的。
或者有没有做出解决方案如何比较考虑标志和括号的两个NSString?
所以我的意思是我可以使用一个字符串初始化两个表达式,然后使用某种方法将其与Expression1 = Expression2进行比较。
这是表达式必须在解析器中查看的示例
所以这是相同的结构,我们可以使用左右节点进行比较。这棵树我很有兴趣找到解析字符串到表达式树的解决方案。我认为这个解决方案已经完成了。
答案 0 :(得分:1)
是的,您可以使用DDMathParser执行此操作:
NSString *string = @"5 + (5 - 3)";
NSError *error = nil;
DDExpression *expression = [DDExpression expressionFromString:string error:&error];
if (expression) {
NSLog(@"%@", expression)
} else {
NSLog(@"%@", error);
}
DDMathParser确实对expression rewriting有一些(基本的)支持,但除此之外,您需要自己比较表达式树。