- A string can be divided into tokens using Java’s StringTokenizer class.
- Internally, a StringTokenizer object keeps track of where it is in the string that has to be tokenized.
- Some procedures move this place ahead of the currently processed characters.
- By extracting a substring from the string that was used to generate the StringTokenizer object, a token is returned.
- It offers the initial stage of the parsing procedure, often known as the lexer or scanner.
- The String Tokenizer class enables applications to tokenize strings. The Enumeration interface is implemented by it.
- Data parsing is done using this class.
- We must specify an input string and a string with delimiters to use the String Tokenizer class
- The characters that divide tokens are known as delimiters.
- The delimiter string’s characters are all accepted as delimiters. Whitespaces, new lines, spaces, and tabs are the default delimiters.
Constructors of StringToken:
Let us consider ‘str’ as the string to be tokenized
- StringTokenizer(String str): Delimiters that are typically used include newline, space, tab, carriage return, and form feed.
- StringTokenizer(String str, String delim): To tokenize the supplied string, a collection of delimiters called delim is used.
- StringTokenizer(String str, String delim, boolean flag):The meaning of the first two parameters is the same, and the flag has the following function.
3.1: If the flag is false, delimiter characters serve to separate tokens
Example:
Input : if string --> "hello coderz" and Delimiter is " ", then Output: tokens are "hello" and "coderz".
3.2: If the flag is true, delimiter characters are considered to be tokens.
Example:
Input : String --> is "hello coderz"and Delimiter is " ", then Output: Tokens --> "hello", " " and "coderz".
Methods of the StringTokenizer Class:
Methods | Description |
---|---|
boolean hasMoreTokens() | It determines if more tokens are accessible. |
String nextToken() | It returns the next token from the StringTokenizer object. |
String nextToken(String delim) | Based on the delimiter, it returns the subsequent token. |
boolean hasMoreElements() | It is the same as hasMoreTokens() method. |
Object nextElement() | It is the same as nextToken() but its return type is Object. |
int countTokens() | It returns the total number of tokens. |
Example to illustrate the use of StringTokenizer class:
// Java Program to Illustrate StringTokenizer Class
// Importing required classes
import java.util.*;
// Main class
public class GFG {
// Main driver method
public static void main(String args[])
{
// Constructor 1
System.out.println("Using Constructor 1 - ");
// Creating object of class inside main() method
StringTokenizer st1 = new StringTokenizer(
"Hello Coderz, keep coding - keep cheering", " ");
// Condition holds true till there is single token
// remaining using hasMoreTokens() method
while (st1.hasMoreTokens())
// Getting next tokens
System.out.println(st1.nextToken());
// Constructor 2
System.out.println("Using Constructor 2 - ");
// Again creating object of class inside main()
// method
StringTokenizer st2 = new StringTokenizer(
"JAVA : Code : String", " :");
// If tokens are present
while (st2.hasMoreTokens())
// Print all tokens
System.out.println(st2.nextToken());
// Constructor 3
System.out.println("Using Constructor 3 - ");
// Again creating object of class inside main()
// method
StringTokenizer st3 = new StringTokenizer(
"JAVA : Code : String", " :", true);
while (st3.hasMoreTokens())
System.out.println(st3.nextToken());
}
}
Output:
Using Constructor 1 -
Hello
Coderz,
keep
coding
-
keep
cheering
Using Constructor 2 -
JAVA
Code
String
Using Constructor 3 -
JAVA:
Code
:
String
Note: also read about the StringBuilder class in Java
Follow Me
If you like my post, please follow me to read my latest post on programming and technology.
https://www.instagram.com/coderz.py/
https://www.facebook.com/coderz.py
Staying up to the mark is what defines me. Hi all! I’m Rabecca Fatima a keen learner, great enthusiast, ready to take new challenges as stepping stones towards flying colors.
Leave a Comment