StringTokenizer tokenizer = new StringTokenizer(s, " ,.:;?![]'");
有沒有辦法檢索分隔符,在這種情況下,所有的標點符號?如何從StringTokenizer獲取分隔符?
例如,「這是一個測試,也是一個測試呢?」
我想令牌化的結果還包括兩個令牌,並且?
這可能嗎?
StringTokenizer tokenizer = new StringTokenizer(s, " ,.:;?![]'");
有沒有辦法檢索分隔符,在這種情況下,所有的標點符號?如何從StringTokenizer獲取分隔符?
例如,「這是一個測試,也是一個測試呢?」
我想令牌化的結果還包括兩個令牌,並且?
這可能嗎?
StringTokenizer
有一個重載構造函數,它需要第三個參數boolean
。將其設置爲true
將使tokenzier返回分隔符太:
StringTokenizer tokenizer = new StringTokenizer(s, " ,.:;?![]'", true);
// Here ---------------------------------------------------------^
很酷!我測試了使用「\\ s」來表示一個空間,爲什麼它不工作? – user697911
@ user697911'StringTokenzer'接受一串字符作爲分隔符,而不是一個正則表達式。使用''\\ s「'作爲分隔符參數將導致''''和''s''被用作分隔符,而不是空格。 – AJNeufeld
用戶的3 PARAM構造 https://docs.oracle.com/javase/8/docs/api/java/util/StringTokenizer.html #StringTokenizer-java.lang.String-java.lang.String-boolean- –