2 回答
TA贡献1895条经验 获得超7个赞
// write all symbols you want here on st
StringTokenizer st = new StringTokenizer(str, "@!");
String s = "Hello, i am using Stack Overflow;";
System.out.println("s = " + s);
String delims = " ,;";
StringTokenizer tokens = new StringTokenizer(s, delims);
while(tokens.hasMoreTokens())
System.out.println(tokens.nextToken());
TA贡献1802条经验 获得超6个赞
如果你试试
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, ], (, ), ]]
添加回答
举报