Java中的StringTokenizer 方法与示例|设置 2
Java中的 StringTokenizer 类用于将字符串分解为标记。必须通过 StringTokenzier 类,其中讨论了概念和构造函数,这有助于更好地理解下面讨论的方法,如下所示:
StringTokenizer 类的方法如下:
- hasMoreToken
- 下一个令牌
- 计数令牌
- 下一个元素
- 拥有更多元素
方法一: hasMoreTokens()
该方法在测试 StringTokenizer 的字符串是否存在标记方面发挥作用。那些被 StringTokenizer 对象视为分隔符的字符将更改为字符分隔符中的字符串。然后返回字符串中当前位置的下一个标记。
句法:
public boolean hasMoreTokens()
返回类型:布尔值,当且仅当字符串中当前位置的下一个标记存在时为 true,否则为 false。
方法二: nextToken()
该方法从给定的 StringTokenizer 返回下一个标记。
句法:
public String nextToken()
返回类型:给定 StringTokenizer 的下一个标记(如果存在)。
抛出异常: NoSuchElementException 如果没有更多的标记。
方法三:countTokens()
该方法返回存在的令牌总数,以便我们可以在它给出异常之前使用 nextToken() 方法。
句法:
public int countTokens()
返回类型:使用当前分隔符集的字符串中剩余的标记数。
例子
Java
// 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());
}
}
Java
// 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
token at [0] : JAVA
token at [1] : Code
token at [2] : String
token at [3] : Tokenizer
token at [4] : Geeks
方法四: nextElement()
该方法的工作原理与 nextToken 类似,只是它返回的是 Object 而不是 String。存在以便此类可以实现 Enumeration 接口。
句法:
public Object nextElement()
返回类型:给定 StringTokenizer 的下一个标记。
抛出异常: NoSuchElementException 如果没有更多的标记。
方法五: hasMoreElements()
此方法返回与 hasMoreToken 相同的值。它的存在是为了让类可以实现 Enumeration 接口。
句法:
public boolean hasMoreElements()
返回类型:布尔值,如果字符串中存在标记,则为 true,否则为 false
例子
Java
// 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
Tip: Do remember certain important points as listed:
- countTokens() method is a good alternative in using the combination hasMoreTokens() and nextToken().
- The combination of countTokens() and nextToken() is used if you are interested in the number of tokens also.