Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Sử dụng lớp StringTokenizer trong Java

StringTokenizer

Lớp cũ (Java 1.0) để tách chuỗi thành token dựa trên delimiter. Hiện nay khuyến khích dùng String.split() hoặc java.util.Scanner.

Constructor chính

  • StringTokenizer(String str) – delimiter mặc định: whitespace (space, tab, newline)
  • StringTokenizer(String str, String delim) – delimiter tùy chỉnh
  • StringTokenizer(String str, String delim, boolean returnDelims) – có trả về delimiter làm token không

Phương thức quan trọng

  • hasMoreTokens() – còn token không
  • nextToken() – lấy token tiếp theo
  • nextToken(String delim) – đổi delimiter cho lần lấy tiếp
  • countTokens() – số token còn lại

Ví dụ 1: Tách theo whitespace mặc định

import java.util.*;

public class StringTokenizerDemo1 {
    public static void main(String[] args) {
        StringTokenizer st = new StringTokenizer("Welcome To Tutorials Point");
        System.out.println("Số token: " + st.countTokens()); // 4
        while (st.hasMoreTokens()) {
            System.out.println(st.nextToken());
        }
    }
}

Kết quả

Số token: 4
Welcome
To
Tutorials
Point

Ví dụ 2: Tách theo delimiter tùy chỉnh (;)

import java.util.*;

public class StringTokenizerDemo2 {
    public static void main(String[] args) {
        StringTokenizer st = new StringTokenizer("Welcome-To-Tutorials;Point-India;Hyderabad");
        System.out.println("Số token (delim mặc định whitespace): " + st.countTokens()); // 1 (cả chuỗi)
        // Dùng nextToken(";") để tách theo ;
        while (st.hasMoreTokens()) {
            System.out.println(st.nextToken(";"));
        }
    }
}

Kết quả

Số token (delim mặc định whitespace): 1
Welcome-To-Tutorials
Point-India
Hyderabad

Khuyến nghị: Dùng String.split(regex) cho đơn giản, Pattern.splitAsStream() cho Stream API, Scanner cho parsing phức tạp.