使用 stringtokenizer 返回字符串的其余部分

Returning the rest of the string with stringtokenizer

找了一个多小时,似乎找不到实现它的方法。 我有一个 stringtokenizer 对象,它正在分解一个字符串(一个数学表达式)。到达某个点后,我希望能够只获取当前位置之后字符串的剩余部分(然后我想递归地使用它)

如果我这样做

StringTokenizer sTokenizer = new StringTokenizer(expression);
//operations with some of the tokens here
System.out.println(sTokenizer.nextToken());

它将以空格分隔。

我试过了

sTokenizer.nextToken(null)

但这只会引发空指针异常。

我知道我可以在参数中放入一些不太可能出现在表达式中的随机字符串,但这并不理想。

如果我用子字符串实现这个

expression.substring(currentposition)

可以,但我需要 stringtokenizer。

简而言之,我正在尝试找出一种方法来检索字符串的其余部分(stringtokenizer 使用的)作为单个标记。

您可以使用 sTokenizer.nextToken("")。它接近你正在寻找的东西。 returns String 的其余部分作为单个标记,包括分隔符。示例:

public static void main(String[] args){
    String expression = "a b c d e";
    StringTokenizer sTokenizer  = new StringTokenizer(expression);
    System.out.println(sTokenizer.nextToken());
    System.out.println(sTokenizer.nextToken(""));
}

输出:

a
 b c d e