[英]java: Splitting arithmetic expresssion into tokens
您如何用空格分隔算术表达式,例如我有22+(33 * 1)这个表达式,我想用相同的字符串(返回字符串)中的运算符之间的空格来分隔它们,例如22 +(33 * 1),我使用StringTokenizer的方式
您的规则比您想的要简单。 可能是正确的Java:
expr = expr.replaceAll('+', ' + ')
.replaceAll('-', ' - ')
.replaceAll(')', ' ) ')
//etc
.replaceAll(' ', ' '); //remove any double spaces added.
那不容易。 您必须解析Expression并构建令牌树。 您最终表现得像一个解析器。 然后,您重新创建表达式,并在每个元素之间插入一个空格。
尝试搜索解析算术表达式
您可以使用多个String.replaceAll
语句将运算符替换为带空格的运算符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.