StringTokenizer使用char分隔标记

时间:2012-12-07 19:59:14

标签: java string stringtokenizer

如何以字符串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) ...

2 个答案:

答案 0 :(得分:3)

来自Javadoc

  

StringTokenizer是遗留类,由于兼容性原因而保留   在新代码中不鼓励使用。建议所有人都在寻求此功能   请改用splitString包的java.util.regex方法。

使用String.split(),即:

String s = input.readLine();
String[] tokens = s.split(" ");

答案 1 :(得分: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/