1

如何以字符串 s 作为参数分隔 StringToekenizer 对象中的标记?

所以:

String s = input.readLine();
char tokenSeparator = ' '; //can be any value other than white space.
StringTokenizer str = new StringTokenizer(s);
//separate tokens by the variable char tokenSeparator;
while (str.hasMoreTokens) ...
4

2 回答 2

3

Javadoc

StringTokenizer是一个遗留类,出于兼容性原因保留,但不鼓励在新代码中使用它。建议任何寻求此功能的人使用split方法Stringjava.util.regex包来代替。

使用String.split(),即:

String s = input.readLine();
String[] tokens = s.split(" ");
于 2012-12-07T20:01:37.143 回答
2

检查javadoc。您可以将参数化构造函数视为

public StringTokenizer(String str, String delim)

这就是您在这里所需要的。

例子

String msg = "http://100.15.111.60:80/";
char tokenSeparatpor = ':';
StringTokenizer st = new StringTokenizer(msg,tokenSeparatpor+"");
while(st.hasMoreTokens()){
    System.out.println(st.nextToken());
}

输出

http
//100.15.111.60
80/
于 2012-12-07T20:02:00.150 回答