Java StringTokenizer类
Java中的 StringTokenizer类 用于将一个字符串分解成标记。一个StringTokenizer对象在内部保持了一个要被标记的字符串的当前位置。一些操作将这个当前位置推进到所处理的字符之后。通过提取用于创建StringTokenizer对象的字符串的一个子串来返回一个标记。它提供了解析过程中的第1步,通常被称为lexer或scanner。String Tokenizer类允许应用程序将字符串分解成标记。它实现了Enumeration接口。这个类用于解析数据。为了使用String Tokenizer类,我们必须指定一个输入字符串和一个包含定界符的字符串。定界符是分隔代币的字符。定界符字符串中的每个字符都被认为是有效的定界符。默认的定界符是空白处、换行、空格和制表符。
示例:
StringToken的构造函数: 让我们考虑将 “str “作为要被标记的字符串。
- StringTokenizer(String str): 默认的分隔符是换行符、空格、制表符、回车符和换页符。
- StringTokenizer(String str, String delim): delim是一组用来标记给定字符串的分隔符。
- StringTokenizer(String str, String delim, boolean flag): 前两个参数有相同的含义,其中标志有以下作用。
3.1: 如果该标志是假的,定界符用于分隔标记符
例子
Input : if string –> “hello geeks” and Delimiter is ” “, then
Output: tokens are “hello” and “geeks”.
3.2: 如果该标志为真,定界符被认为是标记。
例子
Input : String –> is “hello geeks”and Delimiter is ” “, then
Output: Tokens –> “hello”, ” ” and “geeks”.
3.3: 一个字符串可以选择多个定界符。
例子
语法:
StringTokenizer st1 = new StringTokenizer( “2+3-18/4″, “+-/”);
Input : String –> is “2+3-18/4″ and Delimiters are +,,-,/
Output: Tokens –> “2”,”3″,”1″,”8″,”4″.
字符串标记器类的方法
方法 | 执行的操作 |
---|---|
countTokens() | 返回所存在的标记的总数 |
hasMoreToken() | 测试StringTokenizer的字符串是否有令牌存在。 |
nextElement() | 返回一个对象而不是字符串 |
hasMoreElements() | 返回与hasMoreToken相同的值 |
nextToken() | 从给定的StringTokenizer中返回下一个token。 |
实现 。
// 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 Geeks How are you", " ");
// 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());
}
}
输出
Using Constructor 1 -
Hello
Geeks
How
are
you
Using Constructor 2 -
JAVA
Code
String
Using Constructor 3 -
JAVA
:
Code
:
String