如何从 StringTokenizer 获取分隔符?

How to get the delimiter from a StringTokenizer?

StringTokenizer tokenizer = new StringTokenizer(s, " ,.:;?![]'");

有没有办法同时检索分隔符,在本例中是所有标点符号?

例如,"This is a test, and is that a test too?"

我想要标记化的结果也包括两个标记,和 ?

这可能吗?

StringTokenizer 有一个带第三个 boolean 参数的重载构造函数。将其设置为 true 也会使 tokenzier return 成为分隔符:

StringTokenizer tokenizer = new StringTokenizer(s, " ,.:;?![]'", true);
// Here ---------------------------------------------------------^