0
我有一个字符串象"(+ x (division (- x 1)))"
通过其可以使用被解析split("\\s*[\\(\\),]+\\s*")
打印字符串解析符
输出) 为了。我的意思是我期望输出:
(
+
x
(
division
(
-
x
1
)
)
)
如何克服它?
我有一个字符串象"(+ x (division (- x 1)))"
通过其可以使用被解析split("\\s*[\\(\\),]+\\s*")
打印字符串解析符
输出) 为了。我的意思是我期望输出:
(
+
x
(
division
(
-
x
1
)
)
)
如何克服它?
这似乎提供您所需的输出:
s.replaceAll("([\\(\\)\\ ])","\n$1\n").replaceAll("\\s*\n+","\n")
你可以这样说:
input.replaceAll("\\s+", "").split("(?<=[-+()\\d])|(?=[-+()\\d])");
我建议的片段仍然会产生所需的输出。 – retrospectacus
我想你正在寻找一个数组,而不是多行字符串 - 只需在末尾添加.split(“\ n”)即可。 – retrospectacus