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

标签 java 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("")。它接近你正在寻找的东西。这会将 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

关于java - 使用 stringtokenizer 返回字符串的其余部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33179270/

相关文章:

Java - mkdir() 不写目录

java - 在谷歌应用程序引擎中存储和检索 WAR 之外的文件?

java - 用于带有正则表达式的 Java 的 StringTokenizers

php - 在PHP中,如何实现和Java中StringTokenizer一样的目的?

java - 为什么在while循环和for循环中使用StringTokenizer时会给出不同的输出

java - 在嵌套 HashMap 中搜索字符串数组项

JavaFX:如何监听非 UI 对象上的事件

java - 如何处理海量的网页抓取请求

java - 在多行文本文件上使用 StringTokenizer 时出错

java - 找不到StringTokenizer迭代器错误