StringTokenizer 类在Java中用于将字符串分解为标记。 StringTokenizer 对象在内部维护要标记化的字符串中的当前位置。某些操作将当前位置提前到已处理的字符之上。
通过获取用于创建 StringTokenizer 对象的字符串的子字符串来返回令牌。它提供了解析过程的第一步,通常称为词法分析器或扫描器。
Java 字符串标记化
String Tokenizer 类允许应用程序将字符串分解为标记。它实现了枚举接口。该类用于解析数据。要使用 String Tokenizer 类,我们必须指定一个输入字符串和一个包含分隔符的字符串。分隔符是分隔标记的字符。分隔符字符串中的每个字符都被视为有效的分隔符。默认分隔符是空格、换行符、空格和制表符。
示例:
StringToken 的构造函数
让我们将 ‘str’ 视为要标记化的字符串。在这种情况下,我们有如下三种构造函数情况:
构造函数 |
说明 |
---|---|
StringTokenizer(String str) |
默认分隔符,如换行符、空格、制表符、回车符和换页符。 |
StringTokenizer(String str, String delim) |
delim 是一组分隔符,用于标记给定的字符串。 |
StringTokenizer(String str, String delim, boolean flag) |
前两个参数具有相同的含义,其中标志用于以下目的。 |
StringToken构造函数的案例
1. 如果标志为 false,则分隔符用于分隔标记
例子:
Input : if string --> "hello geeks" and Delimiter is " ", then
Output: tokens are "hello" and "geeks".
2. 如果该标志为 true,则分隔符字符被视为标记。
例子:
Input : String --> is "hello geeks"and Delimiter is " ", then
Output: Tokens --> "hello", " " and "geeks".
3. 可以为单个字符串选择多个分隔符。
例子:
Syntax: StringTokenizer st1 = new StringTokenizer( "2+3-1*8/4", "+*-/");
Input : String --> is "2+3-1*8/4" and Delimiters are +,*,-,/
Output: Tokens --> "2","3","1","8","4".
Java 字符串分词器构造函数的示例
Java
// Java Program to implement
// Java String Tokenizer Constructors
import java.util.*;
// Driver Class
class GFG {
// main function
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
StringTokenizer 类的方法
方法 | 执行的操作 |
---|---|
StringTokenizer countTokens() | 返回存在的令牌总数 |
StringTokenizer hasMoreTokens() | 测试 StringTokenizer 的字符串是否存在标记 |
StringTokenizer nextElement() | 返回一个对象而不是字符串 |
StringTokenizer hasMoreElements() | 返回与 hasMoreToken 相同的值 |
StringTokenizer nextToken() | 从给定的 StringTokenizer 返回下一个标记。 |
StringTokenizer类的方法示例
下面是方法的实现:
Java
// Java Program to implement
//
import java.util.*;
// Driver Class
class GFG {
// main function
public static void main(String[] args)
{
// Creating a StringTokenizer
StringTokenizer str = new StringTokenizer(
"Welcome to GeeksforGeeks");
StringTokenizer temp = new StringTokenizer("");
// countTokens Method
int count = str.countTokens();
System.out.println(count);
// hasMoreTokens Methods
System.out.println("Welcome to GeeksforGeeks: "+str.hasMoreTokens());
System.out.println("(Empty String) : "+temp.hasMoreTokens());
// nextElement() Method
System.out.println("\nTraversing the String:");
while(str.hasMoreTokens()){
System.out.println(str.nextElement());
}
}
}
3 Welcome to GeeksforGeeks: true (Empty String) : false Traversing the String: Welcome to GeeksforGeeks
相关用法
- Java StringTokenizer countTokens()用法及代码示例
- Java StringTokenizer hasMoreElements()用法及代码示例
- Java StringTokenizer hasMoreTokens()用法及代码示例
- Java StringTokenizer nextElement()用法及代码示例
- Java StringTokenizer nextToken()用法及代码示例
- Java StringTokenizer和Split的区别用法及代码示例
- Java String compareToIgnoreCase()用法及代码示例
- Java String compareTo()用法及代码示例
- Java String split()用法及代码示例
- Java String length()用法及代码示例
- Java String replace()用法及代码示例
- Java String replaceAll()用法及代码示例
- Java String substring()用法及代码示例
- Java String equals()用法及代码示例
- Java String equalsIgnoreCase()用法及代码示例
- Java String contains()用法及代码示例
- Java String indexOf()用法及代码示例
- Java String trim()用法及代码示例
- Java String charAt()用法及代码示例
- Java String toLowerCase()用法及代码示例
- Java String concat()用法及代码示例
- Java String valueOf()用法及代码示例
- Java String matches()用法及代码示例
- Java String startsWith()用法及代码示例
- Java String endsWith()用法及代码示例
注:本文由纯净天空筛选整理自佚名大神的英文原创作品 StringTokenizer Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。