StringTokenizer trong java với ví dụ cụ thể

StringTokenizer được sử dụng để tách chuỗi ra thành các chuỗi token con.stringtokenizer

StringTokenizer Constructor 

StringTokenizer(String str): str là chuỗi được tách ra thành các chuỗi token con. Mặc định chuỗi phân cách là new line, space, tab.

StringTokenizer(String str, String delim): delim được dùng làm chuỗi phân tách thành các chuỗi token con.

StringTokenizer(String str, String delim, boolean flag): 2 tham số đầu giống với constructor trên. flag có nghĩa sau:

  • nếu flag là false: thì chuỗi delim là chuỗi phân tách cho các chuỗi con:. Ví dụ: str là “share token” và delim là ” ” thì “share” và “token” là các chuỗi token.
  • nếu flag là true: thì ngoài việc delim là chuỗi phân tách cho các chuỗi token con, thì bản thân nó cũng chính là một chuỗi token. Ví dụ str là “share token” và delim là ” ” thì ngoài “share” và “token” thì chúng ta còn có ” ” là một token.
import java.util.StringTokenizer;

public class Main {

    public static void main(String[] args) {System.out.println("Using Constructor 1 - ");
        StringTokenizer st1 =
                new StringTokenizer("share programming net");
        while (st1.hasMoreTokens())
            System.out.println(st1.nextToken());

        System.out.println("Using Constructor 2 - ");
        StringTokenizer st2 =
                new StringTokenizer("JAVA : Code : String", " :");
        while (st2.hasMoreTokens())
            System.out.println(st2.nextToken());

        System.out.println("Using Constructor 3 - ");
        StringTokenizer st3 =
                new StringTokenizer("JAVA : Code : String", " :",  true);
        while (st3.hasMoreTokens())
            System.out.println(st3.nextToken());


    }
}

Output:


Using Constructor 1 –
share
programming
net
Using Constructor 2 –
JAVA
Code
String
Using Constructor 3 –
JAVA

:

Code

:

String

StringTokenizer methods:

1, pubic boolean hasMoreTokens(): Kiểm tra stringtokenizer hiện tại còn chuỗi token nào hay không tkể từ vị trí cuối cùng được lấy.

2, public String nextToken(): trả về chuỗi token tiếp theo.

3, public int countTokens(): Trả về tổng số chuỗi token hiện có.

import java.util.StringTokenizer;

public class Main {

    public static void main(String[] args) {System.out.println("Using Constructor 1 - ");

        String mydelim = " : ";
        String mystr = "JAVA : Code : String : Tokenizer : Share";

        // Use of Constructor 2
        // Here we are passing Delimiter - "mydelim"
        StringTokenizer geeks3 =
                new StringTokenizer(mystr, mydelim);

        // Printing count of tokens and tokens
        int count = geeks3.countTokens();
        System.out.println("Number of tokens : " + count + "\n");
        for (int i = 0; i <count; i++)
            System.out.println("token at [" + i + "] : "
                    + geeks3.nextToken());

        // .hasMoreTokens() method checks for more Tokens.
        // Here not working as no Tokens left
        while (geeks3.hasMoreTokens())

            // .nextToken is method is returning next token.
            System.out.println(geeks3.nextToken());
    }
}

Output: 

Number of tokens : 5

token at [0] : JAVA
token at [1] : Code
token at [2] : String
token at [3] : Tokenizer
token at [4] : Share

4, public Object nextElement(): Trả về object token tiếp theo. Về căn bản giống với nextToken(), các bạn chỉ cần parse sang String rồi dùng thôi.

4, public boolean hasMoreElements(): Tương tự hasMoreTokens()

import java.util.StringTokenizer;

public class Main {
    public static void main(String args[]) {
        String mydelim = " : ";
        String mystr = "JAVA : Code : String : Tokenizer : Share";

        // Use of Constructor 2
        // Here we are passing Delimiter - "mydelim"
        StringTokenizer geeks =
                new StringTokenizer(mystr, mydelim);

        //  .countTokens() method counts no. of tokens present.
        int count = geeks.countTokens();
        System.out.println("Number of tokens : " + count);

        //  use of hasMoreElements() - true if tokens are present
        while (geeks.hasMoreElements())

            //  use of nextElement() - returns the next token
            System.out.println(geeks.nextElement());
    }
}

Output:


Number of tokens : 5
JAVA
Code
String
Tokenizer
Share

Note:

countToken() thường được dùng chung với hasMoreTokens() và nextToken để duyệt qua toàn bộ các chuỗi token.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x