Nội dung chính
StringTokenizer trong java
Lớp java.util.StringTokenizer cho phép bạn phân tách một chuỗi thành các phần tử token của nó.
Các constructor của lớp StringTokenizer trong java
Constructor | Mô tả |
StringTokenizer(String str) | tạo ra một lớp StringTokenizer với chuỗi chỉ định. |
StringTokenizer(String str, String delim) | tạo ra một lớp StringTokenizer dựa trên chuỗi chỉ định và dấu phân cách. |
StringTokenizer(String str, String delim, boolean returnValue) | tạo ra một lớp StringTokenizer dựa trên chuỗi định, dấu phân cách và cờ hiệu. Nếu cờ hiệu là true, dấu phân cách được xem như là các phần tử token. Nếu là false, dấu phân cách không được tính là các phần tử token. |
Các phương thức của lớp StringTokenizer trong java
Các phương thức non-private của lớp StringTokenizer được tóm tắt trong bảng sau:
Phương thức Public | Mô tả |
boolean hasMoreTokens() | Trả về true nếu còn nhiều token trong chuỗi. |
String nextToken() | Trả về token tiếp theo khi duyệt đối tượng StringTokenizer. |
String nextToken(String delim) | Trả về token tiếp theo dựa trên dấu phân tách. |
boolean hasMoreElements() | Giống như phương thức hasMoreTokens(). |
Object nextElement() | Giống như nextToken() nhưng nó trả về một đối tượng. |
int countTokens() | Trả về tổng số lượng của các token. |
Các ví dụ về lớp StringTokenizer trong java
Ví dụ 1: Dấu phân tách mặc định là khoẳng trắng (space). Nếu bạn không khai báo dấu phân tách khi khởi tạo lớp StringTokenizer, thì mặc định sẽ là một hoặc nhiều khoảng trắng.
package vn.viettuts.string; import java.util.StringTokenizer; public class StringTokenizerSample1 { public static void main(String args[]) { StringTokenizer st = new StringTokenizer("Toi ten la VietTut"); System.out.println("Tổng số token: " + st.countTokens()); while (st.hasMoreTokens()) { System.out.println(st.nextToken()); } } }
Output:
Toi ten la VietTut
Ví dụ 2: Chỉ định dấu phân cách. Dấu phân cách được chỉ định trong ví dụ này là dấu trừ (-).
package vn.viettuts.string; import java.util.StringTokenizer; public class StringTokenizerSample2 { public static void main(String args[]) { StringTokenizer st = new StringTokenizer("Toi-ten-la---VietTut", "-"); System.out.println("Tổng số token: " + st.countTokens()); while (st.hasMoreTokens()) { System.out.println(st.nextToken()); } } }
Output:
Tổng số token: 4 Toi ten la VietTut
Ví dụ 3: Chỉ định tham số thứ 3 (returnValue) là false thì dấu phân cách không được tính là các phần tử token.
package vn.viettuts.string; import java.util.StringTokenizer; public class StringTokenizerSample3 { public static void main(String args[]) { StringTokenizer st = new StringTokenizer("Toi-ten-,la-VietTut", "-,", false); System.out.println("Tổng số token: " + st.countTokens()); while (st.hasMoreTokens()) { System.out.println(st.nextToken()); } } }
Output:
Tổng số token: 4 Toi ten la VietTut
Ví dụ 4: Chỉ định tham số thứ 3 (returnValue) là true thì dấu phân cách được tính là các phần tử token.
package vn.viettuts.string; import java.util.StringTokenizer; public class StringTokenizerSample4 { public static void main(String args[]) { StringTokenizer st = new StringTokenizer("Toi-ten-,la-VietTut", "-,", true); System.out.println("Tổng số token: " + st.countTokens()); while (st.hasMoreTokens()) { System.out.println(st.nextToken()); } } }
Output:
Tổng số token: 8 Toi - ten - , la - VietTut
Ví dụ 5: chỉ định dấu phân cách trong hàm nextToken().
package vn.viettuts.string; import java.util.StringTokenizer; public class StringTokenizerSample5 { public static void main(String args[]) { StringTokenizer st = new StringTokenizer("Toi-ten-,la-VietTut", "-,", false); System.out.println("Tổng số token: " + st.countTokens()); // in chuỗi token dựa trên dấu phân cách System.out.println("Chuỗi token: " + st.nextToken("-,")); System.out.println("Chuỗi token kế tiếp: " + st.nextToken("e")); } }
Output:
Tổng số token: 4 Chuỗi token: Toi Chuỗi token kế tiếp: -t