Posted on 2007-03-26 14:12
趙永超 閱讀(310)
評論(0) 編輯 收藏 所屬分類:
java
import java.util.*;
public class TokenTest2{
?
?public static void main(String[] args){
?
? StringTokenizer st=new StringTokenizer("this is a test","e",true);
? while(st.hasMoreTokens()){
?? System.out.println(st.nextToken());
??
? }
?}
}
結果 :
this is a t
e
st
?
public class StringTokenizer
extends Object
implements Enumeration<Object>
string tokenizer 類允許應用程序將字符串分解為標記。tokenization 方法比 StreamTokenizer 類所使用的方法更簡單。StringTokenizer 方法不區分標識符、數和帶引號的字符串,它們也不識別并跳過注釋。
可以在創建時指定,也可以根據每個標記來指定分隔符(分隔標記的字符)集合。
StringTokenizer 的實例有兩種行為方式,這取決于它在創建時使用的 returnDelims 標志的值是 true 還是 false:
如果標志為 false,則分隔符字符用來分隔標記。標記是連續字符(不是分隔符)的最大序列。
如果標志為 true,則認為那些分隔符字符本身即為標記。因此標記要么是一個分隔符字符,要么是那些連續字符(不是分隔符)的最大序列。
StringTokenizer 對象在內部維護字符串中要被標記的當前位置。某些操作將此當前位置移至已處理的字符后。
通過截取字符串的一個子串來返回標記,該字符串用于創建 StringTokenizer 對象。
下面是一個使用 tokenizer 的實例。代碼如下:
???? StringTokenizer st = new StringTokenizer("this is a test");
???? while (st.hasMoreTokens()) {
???????? System.out.println(st.nextToken());
???? }
?
輸出以下字符串:
???? this
???? is
???? a
???? test
?
StringTokenizer 是出于兼容性的原因而被保留的遺留類(雖然在新代碼中并不鼓勵使用它)。建議所有尋求此功能的人使用 String 的 split 方法或 java.util.regex 包。
下面的示例闡明了如何使用 String.split 方法將字符串分解為基本標記:
???? String[] result = "this is a test".split("\\s");
???? for (int x=0; x<result.length; x++)
???????? System.out.println(result[x]);
?
輸出以下字符串:
???? this
???? is
???? a
???? test
?