複製鏈接
請複製以下鏈接發送給好友

StringTokenizer

鎖定
StringTokenizer是java中object類的一個子類,繼承自 Enumeration接口。此類允許一個應用程序進入一個令牌(tokens),而且StringTokenizer類用起來比StreamTokenizer 類更加簡單。StringTokenizer不會區分對象、函數、數組、或引證字符串。
外文名
StringTokenizer
類    型
計算機程序

目錄

StringTokenizer概念

StringTokenizer的實例有兩種方式,這兩種方式取決於returnDelims 標記位的值是true或false。
true
標記為true,那些分隔符字符本身即為標記。因此標記要麼是一個分隔符字符,要麼是那些連續字符(不是分隔符)的最大序列。
false
標記為false,則分隔符字符用來分隔標記。標記是連續字符(不是分隔符)的最大序列。
StringTokenizer類的對象在內部已經標識化的字符串中維持了當前位置。一些操作使得在現有位置上的字符串提前得到處理。 一個令牌的值是由獲得其曾經創建StringTokenizer類對象的字串所返回的。

StringTokenizer具體函數

StreamTokenizer定義了幾種基本的常量用於標識解析過程:TT_EOF(流結尾)、TT_EOL(行結尾)、
TT_NUMBER(數字符號, 0 1 2 3 4 5 6 7 8 9 . -都屬於數字語法)、TT_WORD(一個單詞)。
其含有的基本方法介紹一下:
commenChar(int ch) - 指定某個字符為註釋字符,此字符之後直到行結尾都被stream tokenizer忽略。
eolIsSignificant(boolean flag) - 決定一個行結束符是否被當作一個基本的符號處理,如果是true,則被當作一個基本符號,不當作普通的分隔符,如果是false,則保持原義,即當作普通的分隔符。
lineno() - 返回當前流所在的行號。
lowerCaseMode(boolean flag) - 決定是否讀取一個單詞時是否轉變成小寫。
nextToken() - 分析下一個。
ordinaryChar(int ch) - 指定字符在這個tokenizer中保持原義,即只會把當前字符認為普通的字符,不會有其他的語義。
ordinaryChars(int low, int hi) - 指定範圍內的字符保持語義,同上
parseNumbers() - 當stream tokenizer遭遇到一個單詞為雙精度的浮點數時,會把它當作一個數字,而不是一個單詞。
pushBack() - 回退,會引起下一個nextToken方法返回當前值。
quoteChar(int ch) - 指定當前字符為當前tokenizer中的分隔符,在兩個符號之間被當作一個字符串解析。
resetSyntax() - 重置語法表使所有的字符都被認為是“ordinary”。
slashSlashComments(boolean flag) - 如果為true,則/*與*/之間的都被認為是註釋,反之,不是。
slashStartComments(boolean flag) - 如果為true,則//之後到行結尾的所有都被認為是註釋,反之,不是。
whitespaceChars(int low, int hi) - 字符low與hi之間的所有字符都被當作為空格符,即被認識為tokenzier的分隔符。
wordChars(int low, int hi) - 字符low與hi之間的所有字符都被當作為單詞的要素。
一個單詞是由一個單詞要素後面跟着0個或者更多個單詞要素或者數字要素。

StringTokenizer實例

接下來是運用此類的一個實例。 代碼:
StringTokenizer st = new StringTokenizer("this is a test");
while (st.hasMoreTokens())
{
System.out.println(st.nextToken());
}
打印出來之後是:
this
is
a
test
接下來的實例闡明瞭String.split方法如何將一個字符串分解成其基本令牌的。
String[] result = "this is a test".split("\\s");
for (int x=0; x
System.out.println(result[x]);
打印出來之後是:
this
is
a
test
StringTokenizer 是出於兼容性的原因而被保留的遺留類(雖然在新代碼中並不鼓勵使用它)。建議所有尋求此功能的人使用 String 的 split 方法或 java.util.regex