找了一个多小时,似乎找不到实现这个的方法。 我有一个 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/