【发布时间】:2018-08-14 22:09:06
【问题描述】:
有没有更好的方法在next token 之后获取token?
这就是我现在的做法:
StringTokenizer inputTokens2 = new StringTokenizer(input);
while (inputTokens2.hasMoreTokens()){
StringTokenizer nextToken = new Stringtokenizer(inputTokens2.nextToken());
}
我想要实现的是获取用户输入的号码,以空格“”分隔,并确定其电话号码是否有效。但是,如果数字包含例如“...20 5...”,那么我必须检查两个版本的数字“...25....”或“...205....”。这就是为什么我想在下一个之后使用Token。如果下一个Token 以“0”结尾,而其后的token 是个位数,则有两个版本。
【问题讨论】:
-
只打两次
nextToken()?更好的是,根本不要使用StringTokenizer。 -
@shmosel
nextToken()返回string而不是StringTokenizer所以我不能使用两次 -
为什么要标记
nextToken的结果?调用nextToken只需将StringTokenizer移动到下一个可用令牌,因此调用任意多次即可获得所需的效果 -
@aggtr 我不确定你的意思。你为什么希望它返回
StringTokenizer? -
StringTokenizer不建议在新代码中使用。它只是出于向后兼容性的原因。我赞同@shmosel 所说的,最好不要使用它,但是从一个返回的令牌中创建一个新的令牌没有任何意义。
标签: java string token stringtokenizer