× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Tìm hiểu lớp StringTokenizer trong Java cùng ví dụ cụ thể

05/11/2021 13:18

Chúng ta đã làm việc với Strings trong các bài viết về Strings và trong bài viết gần nhất là StringBuffer trong Java. Chúng ta luôn thực hiện các thao tác trên String với sự trợ giúp của từng ký tự có trong String. Nếu muốn làm việc với từng từ trong chuỗi hoặc câu, chúng ta có thể sử dụng String Tokenizer. Sử dụng StringTokenizer trong Java chúng ta có thể ngắt chuỗi thành cách từ và những từ như vậy được gọi là mã thông báo. Trong bài viết này, Hãy cùng T3H đi sâu tìm hiểu về StringTokenizer trong Java. 

 

 

Khái niệm về StringTokenizer trong Java

Một lớp StringTokenizer là một lớp có trong java.util gói và nó được sử dụng để chia một Chuỗi thành các mã thông báo. Nói cách khác, chúng ta có thể chia một câu thành các từ của nó và thực hiện các thao tác khác nhau như đếm số lượng mã thông báo hoặc chia một câu thành các mã thông báo. Có các hàm tạo và phương thức trong StringTokenizer này giúp chúng ta chia một câu thành các mã thông báo. StringTokenizer, mã hóa chuỗi trên cơ sở các dấu phân cách được cung cấp cho đối tượng lớp String tokenizer. 

Các dấu phân cách chung là khoảng trắng, tab, dòng mới, ký tự xuống dòng và nguồn cấp dữ liệu biểu mẫu. Các dấu phân cách này được coi là mặc định và nếu người dùng muốn cung cấp dấu phân cách riêng thì anh ta có thể cung cấp bằng cách xác định dấu phân cách trong tham số làm đối số.

Hãy lấy một ví dụ đơn giản để hiểu việc sử dụng lớp StringTokenizer trong Java.

vi du ve string tokenize

Bây giờ chúng ta hãy xem xét các tham số lập trình của Lớp StringTokenizer và xem xét đầy đủ về điều này.

StringTokenizer trong Java Constructors

Có ba loại hàm tạo trong String Tokenizer như sau:

1. StringTokenizer (Chuỗi str)

Hàm tạo này được triển khai để thực hiện mã hóa một chuỗi cụ thể đang được cung cấp trong tham số. Hàm tạo này nhận tất cả các dấu phân cách mặc định đã được định nghĩa trong định nghĩa của lớp StringTokenizer.

Dấu phân cách là: Khoảng trắng, dòng mới, tab, dấu xuống dòng “\ r”, Nguồn cấp dòng “\ n” và nguồn cấp biểu mẫu “\ f”.

2. StringTokenizer (Chuỗi str, Dấu phân cách chuỗi)

Hàm tạo này được triển khai để thực hiện mã hóa chuỗi dựa trên dấu phân cách do người dùng cung cấp trong đối số. Điều này có thể được giải thích bằng một ví dụ:

StringTokenizer st = new StringTokenizer ( “techvidvan, article, on, StringTokenizer”, “,” ) ;

while ( st. hasMoreTokens ())

        System.out.println(st.nextToken());

 

Output:

techvidvan

article

on

StringTokenizer

3. StringTokenizer (String str, String delimiter, boolean flag)

Ham tạo này được triển khai để thực hiện mã hóa chuỗi dựa trên dấu phân cách và có chức năng bổ sung để hiển thị dấu phân cách. Điều này có thể được giải thích bằng một ví dụ:

Ví dụ về boolean = false:

StringTokenizer st = new StringTokenizer ( “techvidvan, article, on, StringTokenizer”, “,”, false ) ;

while ( st. hasMoreTokens ())

Ở đây nếu giá trị của boolean là FALSE thì mã thông báo không chứa dấu phân cách, tức là đầu ra là: “techvidvan”, “article”, “on”, “StringTokenizer”

Ví dụ về boolean = true:

StringTokenizer st = new StringTokenizer ( “techvidvan, article, on, StringTokenizer”, “,”, true ) ;

while ( st1. hasMoreTokens ())

 

Ở đây nếu giá trị của boolean là TRUE thì mã thông báo chứa dấu phân cách tức là,

Đầu ra là:

techvidvan

,

article

,

on

,

StringTokenizer

>>> Đọc thêm: Toán tử trong Java - Tìm hiểu các loại toán tử trong Java

 

Sơ đồ của lớp String Tokenizer

so do string tokenizer

>>> Đọc thêm: Lớp Scanner trong Java - Phương thức và hàm tạo lớp Scanner trong Java

 

Các phương thức hữu ích của lớp StringTokenizer trong Java

Lớp StringTokenizer chứa một số phương thức phiên bản hữu ích mà chúng ta có thể sử dụng để cô lập các mã thông báo. Hãy bắt đầu tìm hiểu từng phương thức của lớp StringTokenizer. Để sử dụng các phương thức này, rõ ràng trước tiên chúng ta phải tạo đối tượng của lớp StringTokenizer như  dưới đây:

StringTokenizer st = new StringTokenizer(String);

Ở đây, đối số mà chúng ta đã truyền là một Chuỗi mà chúng ta cần mã hóa.

1. int countTokens ()

Phương thức countToken () trả về số lượng mã thông báo được phân tách bằng bất kỳ khoảng trắng nào trong chuỗi đã cho. Sử dụng phương pháp này, chúng ta có thể biết số lượng mã thông báo trong chuỗi và do đó chúng ta có thể sử dụng số lượng mã thông báo này làm tham số vòng lặp để xử lý toàn bộ chuỗi rất dễ dàng. 

Ví dụ:

package com.techvidvan.stringtokenizer;

import java.util. * ;

import java.io. * ;

public class CountTokensMethod {

  public static void main(String[] args) throws IOException {

    String myString = "This is TechVidvan Tutorial of Java";

    StringTokenizer st = new StringTokenizer(myString);

    int numberOfTokens;

    numberOfTokens = st.countTokens();

    System.out.println("Input string is:" + myString);

    System.out.println("The number of tokens in the string is: " + numberOfTokens);

  }

}

Output:

Input string is: This is TechVidvan Tutorial of Java

The number of tokens in the string is: 6

2. String nextToken()

Phương thức nextToken () của lớp StringTokenizer trả về mã thông báo tiếp theo ở dạng Chuỗi. Khi chúng ta sử dụng nó lần đầu tiên, nó trả về mã thông báo tiếp theo là mã thông báo đầu tiên của chuỗi.

package com.techvidvan.stringtokenizer;

import java.util. * ;

import java.io. * ;

public class NextTokenMethod {

  public static void main(String[] args) throws IOException {

    String myString = "This is TechVidvan Tutorial of Java";

    StringTokenizer st = new StringTokenizer(myString);

    System.out.println("Input string is: " + myString);

    while (st.hasMoreTokens()) {

      System.out.println("The Next token is: " + st.nextToken());

    }

  }

}

 

Output:

Input string is: This is TechVidvan Tutorial of Java

The Next token is: This

The Next token is: is

The Next token is: TechVidvan

The Next token is: Tutorial

The Next token is: of

The Next token is: Java

Kết luận: Trên đây là các thông tin về lớp String Tokenizer trong Java cùng các ví dụ phân tích cụ thể. Hy vọng các thông tin này hữu ích với bạn và đừng quên tìm hiểu thêm về Java và các ngôn ngữ lập trình khác qua các khóa học lập trình tại T3H.