CodeGym/Blog Java/Ngẫu nhiên/StringTokenizer trong Java

StringTokenizer trong Java

Xuất bản trong nhóm
Lớp StringTokenizer trong Java cung cấp phương thức Chuỗi mã thông báo để chia chuỗi thành các mã thông báo dựa trên dấu phân cách được chỉ định. Chuỗi mã thông báo có thể là bất kỳ chuỗi nào phân tách các mã thông báo, chẳng hạn như dấu phẩy, dấu chấm phẩy hoặc khoảng trắng. Sử dụng phương thức Chuỗi tokenizer của lớp StringTokenizer , chúng ta có thể chia một chuỗi thành các phần cấu thành của nó. Bằng cách gọi phương thức nextToken() , chúng ta có thể truy xuất lần lượt từng mã thông báo và bằng cách sử dụng phương thức hasMoreTokens() , chúng ta có thể kiểm tra xem còn mã thông báo nào nữa không. Phương thức length() của lớp StringTokenizer có thể được sử dụng để lấy độ dài của mỗi mã thông báo. StringTokenizer String là một công cụ hữu ích để thao tác chuỗi và có thể được sử dụng để phân tích cú pháp tệp CSV, URL hoặc dữ liệu dựa trên văn bản khác. Lớp StringTokenizer là một phần của gói Java.util và cung cấp một cách đơn giản để chia chuỗi thành các mã thông báo. Lớp này có hai hàm tạo, một hàm lấy một chuỗi được mã hóa và một ký tự hoặc chuỗi phân cách, còn hàm kia nhận các đối số tương tự cũng như cờ Boolean cho biết có bao gồm dấu phân cách làm mã thông báo hay không. Khi bạn đã tạo một đối tượng StringTokenizer , bạn có thể sử dụng các phương thức khác nhau của nó để lặp qua các mã thông báo và thực hiện các thao tác khác nhau trên chúng.

Phương thức mã thông báo

Phương thức mã thông báo là quá trình chia chuỗi thành các phần hoặc mã thông báo nhỏ hơn. Quá trình này được thực hiện bằng cách sử dụng dấu phân cách, có thể là ký tự hoặc chuỗi ký tự phân tách từng mã thông báo. Ví dụ: hãy xem xét chuỗi sau:
String input = "Hello World! How are you today?";
Nếu muốn chia chuỗi này thành các từ riêng lẻ, chúng ta có thể sử dụng ký tự khoảng trắng làm dấu phân cách, như sau:
StringTokenizer tokenizer = new StringTokenizer(input, " ");
while (tokenizer.hasMoreTokens()) {
    String token = tokenizer.nextToken();
    System.out.println(token);
}

đầu ra

Xin chào Thế giới! Làm sao là Bạn Hôm nay?
Trong ví dụ này, chúng ta tạo một đối tượng StringTokenizer mới với chuỗi đầu vào và ký tự khoảng trắng làm dấu phân cách. Sau đó, chúng tôi lặp qua các mã thông báo bằng phương thức hasMoreTokens() và truy xuất từng mã thông báo bằng phương thức nextToken() . Cuối cùng, chúng tôi in từng mã thông báo ra bảng điều khiển.

Độ dài mã thông báo

Ngoài chức năng cơ bản được cung cấp bởi phương thức nextToken() , lớp StringTokenizer còn cung cấp các phương thức để truy xuất độ dài của mỗi mã thông báo và truy xuất một mã thông báo cụ thể theo chỉ mục. Để lấy độ dài của mã thông báo hiện tại, bạn có thể sử dụng phương thức token.length() . Ví dụ:
public class StringTokenizerExample {
    public static void main(String[] args) {
        String input = "Hello World! How are you today?";
        StringTokenizer tokenizer = new StringTokenizer(input, " ");
        while (tokenizer.hasMoreTokens()) {
            String token = tokenizer.nextToken();
            System.out.println("Token: " + token + " Length: " + token.length());
        }
    }
}

đầu ra

Mã thông báo: Xin chào Độ dài: 5 Mã thông báo: Thế giới! Chiều dài: 6 Mã thông báo: Làm thế nào Độ dài: 3 Mã thông báo: là Độ dài: 3 Mã thông báo: bạn Độ dài: 3 Mã thông báo: hôm nay? Chiều dài: 6
Trong ví dụ này, chúng tôi truy xuất từng mã thông báo như trước nhưng cũng sử dụng phương thức length() để lấy độ dài của mỗi mã thông báo, sau đó chúng tôi in ra bảng điều khiển.

Ví dụ

Chúng ta hãy xem một ví dụ hoàn chỉnh minh họa cách sử dụng lớp StringTokenizer trong Java:
public class Example {
    public static void main(String[] args) {
        String input = "John,Doe,123 Main St.,Anytown,USA";
        StringTokenizer tokenizer = new StringTokenizer(input, ",");
        while (tokenizer.hasMoreTokens()) {
            System.out.println(tokenizer.nextToken());
        }
    }
}

đầu ra

John Doe 123 Main St. Anytown Hoa Kỳ
Trong ví dụ này, chúng ta có một chuỗi đại diện cho danh sách các giá trị được phân tách bằng dấu phẩy. Chúng tôi tạo một đối tượng StringTokenizer mới với chuỗi này và dấu phẩy làm dấu phân cách. Sau đó, chúng tôi lặp qua các mã thông báo bằng phương thức hasMoreTokens() và truy xuất từng mã thông báo bằng phương thức nextToken() . Cuối cùng, chúng tôi in từng mã thông báo ra bảng điều khiển. Lưu ý rằng chúng tôi không sử dụng phương thức length() trong ví dụ này vì chúng tôi chỉ quan tâm đến từng mã thông báo riêng lẻ.

Lớp StreamTokenizer

Mặc dù lớp StringTokenizer cung cấp một cách đơn giản để chia chuỗi thành các mã thông báo nhưng nó có một số hạn chế. Ví dụ: nó không thể xử lý nhiều dấu phân cách hoặc các loại mã thông báo khác nhau, chẳng hạn như số và từ. Nếu bạn cần khả năng mã thông báo nâng cao hơn, bạn có thể sử dụng lớp StreamTokenizer . Lớp này cung cấp sự linh hoạt hơn và có thể xử lý nhiều loại đầu vào khác nhau. Để củng cố những gì bạn đã học, chúng tôi khuyên bạn nên xem bài học video từ Khóa học Java của chúng tôi
Bình luận
  • Phổ biến
  • Mới
Bạn phải đăng nhập để đăng nhận xet
Trang này chưa có bất kỳ bình luận nào