一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器
Scanner
使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值
从输入中获取文本
Scanner sc = new Scanner(System.in);
Scanner构造方法可以接受InputStream,String,File作为输入源。
delimiter() 返回此 Scanner 当前正在用于匹配分隔符的 Pattern。这个Pattern默认是空格,可以自己指定。 hasNext() 判断扫描器中当前扫描位置后是否还存在下一段。(原APIDoc的注释很扯淡) hasNextLine() 如果在此扫描器的输入中存在另一行,则返回 true。 next() 查找并返回来自此扫描器的下一个完整标记。 nextLine() 此扫描器执行当前行,并返回跳过的输入信息,这个是由回车决定换行的。
useDelimiter:指定分割的模式!
String s="name haha lz haha age haha 23"; Scanner scanner=new Scanner(s).useDelimiter("\s*haha\s*"); System.out.println(scanner.next()); System.out.println(scanner.next()); System.out.println(scanner.next()); System.out.println(scanner.nextInt());
Scanner的另一个好处是可以直接读取到需要的基本类型。