Java StringTokenizer方法及实例

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的数量感兴趣的情况下使用。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程