1、什么是StringTokenizer
它是一个很方便的字符串分解器,主要用来根据分隔符把字符串分割成标记(Token),然后按照请求返回各个标记。这个过程称为Tokenization,实际上就是把字符序列转换成应用程序能够理解的多个标记。
2、它怎么用
你可以用以下三种构造函数中的任意一种创建StringTokenizer分解器:
StringTokenizer(String sInput):以空白字符(“ ”,“\t”,“\n”)为分隔符分割字符串。
StringTokenizer(String sInput, String sDelimiter):以sDelimiter为分隔符分割字符串。
StringTokenizer(String sInput, String sDelimiter, boolean bReturnTokens):以sDelimiter为分隔符分割字符串,但如果bReturnTokens为true,则分隔符也作为标记返回。
ForExample:
public static void main(String[] args) {
StringTokenizer stringTokenizer = new StringTokenizer("abc def");
while (stringTokenizer.hasMoreTokens()) {
System.out.println(stringTokenizer.nextToken());
}
}
abc
def
public static void main(String[] args) {
StringTokenizer stringTokenizer = new StringTokenizer("ab c/def","/");
while (stringTokenizer.hasMoreTokens()) {
System.out.println(stringTokenizer.nextToken());
}
}
ab c
def
3、它有哪些坑
这个类只是简单地在输入字符串中查找分隔符,一旦找到了分隔符就分割字符串。它不会检查分隔符是否在子串之中这类条件,当输入字符串中出现两个连续的分隔符时,它也不会返回""(字符串长度为0)形式的标记。
ForExample:
StringTokenizer stringTokenizer = new StringTokenizer("abbbbc","b");
while (stringTokenizer.hasMoreTokens()) {
System.out.println(stringTokenizer.nextToken());
}
a
c