使用String#split()拆分表达式

时间:2014-12-07 15:50:25

标签: java arrays regex string

我想将中缀操作转换为后缀操作。当输入作为已经通过数组拆分的表达式给出时,我的代码有效。但是当输入作为原始String表达式给出时,它不会。

String[] exp={"23","+","32"}//this works
String str="23 + 32";
String[]exp=str.split("//s+" );//this doesn't work

2 个答案:

答案 0 :(得分:1)

我认为你必须使用反斜杠而不是斜杠:

String[] exp = str.split("\\s+");

答案 1 :(得分:1)

我在代码中看到了2个问题。首先,您的第二个String[]与您的第一个 String[] exp = {"23","+","32"}; String str = "23 + 32"; String[] exp2 = str.split("\\s+"); // or " +" System.out.println(Arrays.toString(exp)); System.out.println(Arrays.toString(exp2)); 具有相同的变量名称。第二个是你使用正斜杠而不是反斜杠。

{{1}}

上述内容对我来说正常。

我希望这会有所帮助。