是否有更好的方法在token
之后获得next token
?
这就是我现在的做法:
StringTokenizer inputTokens2 = new StringTokenizer(input);
while (inputTokens2.hasMoreTokens()){
StringTokenizer nextToken = new Stringtokenizer(inputTokens2.nextToken());
}
我要实现的是获取用户输入的数字,并用空格“”分隔,并确定其有效电话号码。但是,如果数字包含例如“ ... 20 5 ...”,那么我必须检查数字“ ... 25 ....”或“ ... 205 ....”的两个版本。这就是为什么我要在下一个之后使用Token
。如果下一个Token
以“ 0”结尾,而其后的token
为个位数,则有2个版本。
答案 0 :(得分:0)
StringTokenizer。 Java具有“字符串” .split(“ \ s”),建议使用。
String[] result = input.split("\\s");
for (int x=0; x<result.length; x++)
System.out.println(result[x]);
您可以在oracle网站的官方文档中进行检查。
答案 1 :(得分:0)
要找出以空格分隔的值,与.split( regex )
相比,StringTokenizer具有很高的运行时效率。
主要由StringTokenizer提供以空格分隔的值的字符串,并且可以按以下方式使用:
StringTokenizer st = new StringTokenizer(input);
while( st.hasMoreTokens() ) System.out.println( st.nextToken() );
尽管Java8文档建议在Tokenizer上使用.split()
,但在此处可以了解更多信息:https://docs.oracle.com/javase/8/docs/api/java/util/StringTokenizer.html