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][[c]d]()]","[]{}()");
你會得到 abcd - 標記化的值。
現在,如果你想把括號留在那里,id 推薦前瞻和回顧正則表達式:
StringTokenizer st = new StringTokenizer(z,"[]{}()");
String regEx "(?<=[{}()\\[\\]])|(?=[{}()\\[\\]])";
System.out.println(Arrays.toString(z.split();
這將返回:
[[, [, a, ], {, b, }, [, [, c, ], d, ], (, ), ]]
添加回答
舉報