呼啦一阵风
如果你试试StringTokenizer st = new StringTokenizer("[[]{}[[]]()]","[]{}()");while (st.hasMoreTokens()) { System.out.println(st.nextToken());}它将返回空,因为它正在对字符串进行标记,但在对所有括号进行标记后没有任何其他内容。如果您改为尝试:StringTokenizer st = new StringTokenizer("[[a]{b}[[c]d]()]","[]{}()");你会得到 abcd - 标记化的值。现在,如果你想把括号留在那里,id 推荐前瞻和回顾正则表达式:StringTokenizer st = new StringTokenizer(z,"[]{}()");String regEx "(?<=[{}()\\[\\]])|(?=[{}()\\[\\]])";System.out.println(Arrays.toString(z.split();这将返回:[[, [, a, ], {, b, }, [, [, c, ], d, ], (, ), ]]