在下面的代码中:
import java.io.*;
import java.util.*;
class GFG {
public static void main (String[] args) {
Scanner scan = new Scanner(System.in);
if(scan.hasNext("Teddy ")){ // or if change it here to "Bear"
System.out.println("Yes its true");
}
else {
System.out.println("false");
}
}
}
根据定义有下一个(字符串模式(:
如果下一个标记与从指定字符串构造的模式匹配,则返回 true。扫描仪不会前进超过任何输入。
- 我无法了解什么是 java 的令牌以及令牌中是否包含空格
我无法得到的有什么意义下一个(字符串模式(
输入:
Teddy Bear
输出:
False
扫描程序使用的默认空格分隔符由 Character.isWhitespace(( 识别。 所以token基本上是一个默认在空格的基础上识别的单词。 例如,我是开发人员(这里的每个单词都是一个令牌(
如果你想匹配包括空格的单词,那么你可以使用模式,比如 -
String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input);
s.findInLine("(\d+) fish (\d+) fish (\w+) fish (\w+)");
MatchResult result = s.match();
for (int i=1; i<=result.groupCount(); i++)
System.out.println(result.group(i));
s.close();
hasNext(( 是 Java Scanner 类的一个方法,如果此扫描程序的输入中有另一个标记,则返回 true。
引用= https://www.javatpoint.com/post/java-scanner-hasnext-method