StringTokenizer類是一個用來對String進行分詞編輯的應用類,類似于Java String 類中的split函數.
構造函數
//StringTokenizer提供了三個構造參數
public StringTokenizer(String str)
public StringTokenizer(String str, String delim)
public StringTokenizer(String str, String delim, boolean returnDelims)
其中,前兩個構造函數直接調用;第三個構造函數建立一個StringTokenizer執行個體,參數
str
代表要分割的字元串,參數
delim
為一個分割辨別符集合,參數
returnDelims
表示是否傳回分割辨別符.在沒有指定分割辨別符的情況下,預設是
"\t\n\r\f"
.
源碼:
常用方法
首先,先了解本類中Token的概念.StringTokenizer類的作用就是對給定的字元串進行分割,而
分割後的元素就是Token
.比如"This is a java programmer!“這個字元串按照空格來分割,那個分割後就是"This”,“is”,“a”,“java”,"programmer!"五個字元串,也就是5個Token.
// 現在來看一下常用的方法
public boolean hasMoreElements() // 傳回與 hasMoreTokens方法相同的值。
public boolean hasMoreTokens() // 測試此令牌化程式的字元串是否有更多的令牌可用。
public Object nextElement() // 傳回與 nextToken方法相同的值,但其聲明的傳回值為 Object而不是 String 。
public String nextToken() // 下一個Token
public String nextToken(String delim) // 根據分隔符擷取下一個Token
public int countTokens() // Token的總個數
Demo1 —— 預設分隔符
public class demo01 {
public static void main(String[] args) {
String str = "梧桐樹蔭了整條街 燈火穿透了她的葉 窗外夜風裹走時間 後退的景誰在流連 一個人開車去赴宴 右座有張燙金喜帖 新娘的名字好親切 搞不好曾夢裡出現 孤單坐進一桌陌生人裡面 主持人在進行熱場的環節 你和他含情脈脈對視了一眼 回憶陪我躲在角落沒露面 當時的我想不到今天 錯過的人回不到從前 當時的你靜靜坐在我的左手邊 梧桐燈下是你靜美的側臉";
// 建立一個StringTokenizer對象
StringTokenizer tokenizer = new StringTokenizer(str);
int count = 1;
while (tokenizer.hasMoreTokens()){
String token = tokenizer.nextToken();
System.out.println(count+"."+token);
count++;
}
System.out.println("分割的總數為:"+(count-1));
}
}
Demo2 —— 自定義分隔符
public class demo02 {
public static void main(String[] args) {
String str = "https://blog.csdn.net/qq_45797116?spm=1011.2124.3001.5343";
StringTokenizer tokenizer = new StringTokenizer(str,".");
int count = 1;
while (tokenizer.hasMoreTokens()){
System.out.println(count+"."+tokenizer.nextToken());
count++;
}
System.out.println("使用分隔符 . 後,共有"+(count-1)+"個。");
}
}
public class demo03 {
public static void main(String[] args) {
String str = "https://blog.***.net/qq_45797116?spm=1011.2124.3001.5343";
StringTokenizer tokenizer = new StringTokenizer(str,".",true);
int count = 1;
while (tokenizer.hasMoreTokens()){
System.out.println(count+"."+tokenizer.nextToken());
count++;
}
System.out.println("使用分隔符 . 後,共有"+(count-1)+"個。");
}
}