0

你如何用空格分隔算术表达式,例如我有这个表达式 22+(33*1) 我想用相同字符串(返回字符串)中的运算符之间的空格来分割它们,比如 22 + ( 33 * 1 )我使用 StringTokenizer 的方式

4

3 回答 3

1

你的规则比你想象的要简单。可能是正确的java:

expr = expr.replaceAll('+', ' + ')
           .replaceAll('-', ' - ')
           .replaceAll(')', ' ) ')
           //etc
           .replaceAll(' ', '  '); //remove any double spaces added.
于 2012-11-23T00:06:42.623 回答
0

这并不容易。您必须解析表达式并建立一个标记树。你终于表现得像一个解析器。然后重新创建表达式并在每个元素之间插入一个空格。
尝试搜索解析算术表达式

于 2012-11-23T00:02:45.447 回答
0

您可以使用多个String.replaceAll语句将运算符替换为带空格的运算符。

于 2012-11-23T00:06:40.597 回答