StringTokenizer เป็นคลาสย่อยของ Object ใช้ แยกสตริงเป็นโทเค็น (tokens) โดยระบุ ตัวคั่น (delimiters) ได้ทั้งตอนสร้างและระหว่างทำงาน มี flag returnDelims ควบคุมว่าคืนตัวคั่นกลับมาหรือไม่
เมธอดสำคัญ
- hasMoreTokens() - มีโทเค็นต่อไหม
- nextToken() - ดึงโทเค็นถัดไป
- countTokens() - นับจำนวนโทเค็นที่เหลือ
- nextToken(String delim) - ดึงโทเค็นด้วยตัวคั่นใหม่
ตัวอย่าง 1: ตัวคั่นเริ่มต้น (เว้นวรรค)
import java.util.*;
public class StringTokenizerTest1 {
public static void main(String args[]) {
StringTokenizer tokens = new StringTokenizer("Welcome To Tutorials Point");
System.out.println("countTokens: " + tokens.countTokens());
while (tokens.hasMoreTokens()) {
System.out.println(tokens.nextToken());
}
}
}
ผลลัพธ์
countTokens: 4
Welcome
To
Tutorials
Point
ตัวอย่าง 2: ตัวคั่นกำหนดเอง (;)
import java.util.*;
public class StringTokenizerTest2 {
public static void main(String args[]) {
StringTokenizer tokens = new StringTokenizer("Welcome-To-Tutorials;Point-India;Hyderabad");
System.out.println("countTokens: " + tokens.countTokens());
while (tokens.hasMoreTokens()) {
System.out.println(tokens.nextToken(";")); // ใช้ ; เป็นตัวคั่น
}
}
}
ผลลัพธ์
countTokens: 1
Welcome-To-Tutorials
Point-India
Hyderabad
หมายเหตุ: StringTokenizer เป็น legacy class แนะนำใช้ String.split() หรือ Pattern แทนในโค้ดใหม่