Lớp “Java.util.StringTokenizer” cho phép chúng ta chia một chuỗi thành các “token” (các cụm từ hoặc kí tự). Đây là cách đơn giản để chia chuỗi.
Có 3 Constructor của lớp StringTokenizer trong Java:
- StringTokenizer(String str): tạo StringTokenizer với chuỗi string đã cho.
- StringTokenizer(String str, String delim): tạo StringTokenizer với chuỗi và dấu phân tách delimeter (tùy thuộc vào kí hiệu phân tách của chuỗi – do người dùng quy định).
- StringTokenizer(String str, String delim, Boolean return Value): tạo StringTokenizer với chuỗi string và dấu phân tách delimeter và kiểu trả về return đã cho. Nếu kiểu trả về là true, các ký tự phân tách được xem như là các token. Ngược lại là false, các kí tự phân tách phục vụ như các token riêng rẽ.
Lớp StringTokenizer có 6 phương thức bao gồm:
PHƯƠNG THỨC PUBLIC | KIỂU DỮ LIỆU TRẢ VỀ | MIÊU TẢ |
hasMoreTokens() | Boolean | Kiểm tra xem có nhiều token có trong chuỗi không. Nếu có trả về kết quả true, ngược lại trả về kết quả false. |
nextTokens() | String | Trả về Token tiếp theo từ đối tượng trong StringTokenizer |
nextTokens(String delim) | String | Trả về Token tiếp theo dựa trên dấu phân tách |
hasMoreElements() | Boolean | Kiểm tra xem có nhiều token có trong chuỗi không. Nếu có trả về kết quả true, ngược lại trả về kết quả false. |
hasMoreElements() | Object | Trả về Token tiếp theo từ đối tượng trong StringTokenizer |
countTokens() | Int | Trả về tổng số Token có trong chuỗi |
Bên cạnh Lớp StringTokenizer dùng để tách chuỗi thì trong Java còn có các Lớp như: Lớp String có phương thức split() cũng có thể dùng để tách chuỗi thành các token.
Ví Dụ:
Đề bài: Viết chương trình nhập vào đầy đủ họ tên một người bất kì,
sau đó trả lời xem học là nam hay nữ (dựa vào phán đoán nếu trong họ có chứa từ “Thị” thì người đó là nữ
Ví dụ thực thi:
Nhap ho ten cua ban La Quoc Hung
Xuất ra: Co le ban la nam
Nhap ho ten cua ban Le Thi Nhu Hong
Xuất ra: Co le ban la nu
HƯỚNG DẪN:Màn hình kết quả:Tác giả: Nguyễn Thái Bình – Nguyễn Thị Thanh Thảo (sinh viên năm 3, lớp 15DTH, khoa Công nghệ thông tin).