Java StringTokenizer方法及实例
Java中的StringTokenizer类是用来将一个字符串分解成标记的。人们必须通过StringTokenizer类,其中讨论了概念和构造函数,这有助于更好地理解下面讨论的方法。
StringTokenizer类的方法如下 。
- hasMoreToken
- nextToken
- countTokens
- nextElement
- hasMoreElements
方法1: hasMoreTokens()
该方法在测试StringTokenizer的字符串是否存在令牌方面起作用。那些被StringTokenizer对象认为是定界符的字符被改变为字符串定界符中的字符。然后返回到字符串中当前位置的下一个标记。
语法
public boolean hasMoreTokens()
返回类型: 一个布尔值,当且仅当字符串中当前位置的下一个标记存在时为真,否则为假。
方法2: nextToken()
该方法从给定的StringTokenizer中返回下一个token。
语法
public String nextToken()
返回类型: 如果存在的话,从给定的StringTokenizer中获得下一个标记。
抛出的异常: 如果没有更多的令牌,则为NoSuchElementException。
方法3: countTokens()
该方法返回存在的标记总数,这样我们就可以在出现异常之前使用nextToken()方法。
语法
public int countTokens()
返回类型: 使用当前定界符集的字符串中剩余的标记数。
例子
// Java Program to Illustrate Methods of StringTokenizer class
// Via hasMoreToken(), nextToken() and countTokens()
// Importing required classes
import java.util.*;
// Main class
public class GFG {
// Main driver method
public static void main(String args[]) {
// Input strings
String mydelim = " : ";
String mystr = "JAVA : Code : String : Tokenizer : Geeks";
// Use of Constructor 2
// Here we are passing Delimiter - "mydelim"
StringTokenizer geeks3 =
new StringTokenizer(mystr, mydelim);
// Printing count of tokens and tokens
// using countTokens() method
int count = geeks3.countTokens();
System.out.println("Number of tokens : " + count + "\n");
// Iterating to get the tokens
for (int i = 0; i < count; i++)
System.out.println("token at [" + i + "] : "
+ geeks3.nextToken());
// checks for more tokens using hasMoreTokens() method
// which holds true till there is single element remaining
while (geeks3.hasMoreTokens())
// Returning the next token
// using nextToken() method
System.out.println(geeks3.nextToken());
}
}
输出
Number of tokens : 5
token at [0] : JAVA
token at [1] : Code
token at [2] : String
token at [3] : Tokenizer
token at [4] : Geeks
方法4: nextElement()
该方法的工作原理与nextToken类似,只是它返回一个对象而不是字符串。它的存在是为了让这个类能够实现枚举接口。
语法
public Object nextElement()
返回类型: 来自给定的StringTokenizer的下一个token。
抛出的异常: 如果没有更多的令牌,则抛出NoSuchElementException。
方法5: hasMoreElements()
该方法返回与hasMoreToken相同的值。它的存在是为了让该类能够实现枚举接口。
语法
public boolean hasMoreElements()
返回类型: 一个布尔值,如果字符串中存在标记,则为真,否则为假。
例子
// Java Program to Illustrate Methods of StringTokenizer
// Class Via hasMoreElements, nextElement and nextElement
// Importing required classes
import java.util.*;
// Main class
public class GFG {
// Main driver method
public static void main(String args[])
{
// Input strings
String mydelim = " : ";
String mystr
= "JAVA : Code : String : Tokenizer : Geeks";
// Use of Constructor 2
// Here we are passing Delimiter - "mydelim"
StringTokenizer geeks
= new StringTokenizer(mystr, mydelim);
// Counting no. of tokens present
// using countTokens() method
int count = geeks.countTokens();
// Printing no. of tokens present
System.out.println("Number of tokens : " + count);
// Condition holds true till there is
// single token remaining using hasMoreElements()
// method True if tokens are present
while (geeks.hasMoreElements())
// Returning the next token
// using nextElement() method
System.out.println(geeks.nextElement());
}
}
输出
Number of tokens : 5
JAVA
Code
String
Tokenizer
Geeks
提示: 请记住列出的某些要点。
- countTokens()方法是使用 hasMoreTokens() 和 nextToken() 组合的一个好选择。
- countTokens() 和 nextToken() 的组合是在你对tokens的数量感兴趣的情况下使用。