第十三章 字符串 (四)之Scanner类
2024-10-06 17:45:26
一、Scanner简述
Scanner扫描器类本质上是由正则表达式实现的,可以接受任何能产生数据的数据源对象,默认以空白符进行分词(包括\n等),使用各种next方法进行扫描匹配,获取匹配的数据。
二、使用实例
1、示例一:从控制台读取数据
import java.util.*;
public class Demo9 { public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
System.out.println(s);
scanner.close();
} }
输出结果:
Hello world(输入)
Hello world(输出)
结果说明:Sytem.in一般情况都会和Scanner类配合起来使用。
2、示例二:指定定界符
import java.util.Scanner; public class Demo10 { public static void main(String[] args) {
// TODO Auto-generated method stub
String s = "1 good 2 good nice good";
Scanner scanner = new Scanner(s);
scanner.useDelimiter("\\sgood\\s");
System.out.println(scanner.nextInt());
System.out.println(scanner.nextInt());
System.out.println(scanner.next());
scanner.close();
} }
输出结果:
1
2
nice good
结果说明:可以使用useDelimiter()方法更改默认的分隔符。
3、示例三:用正则表达式扫描
import java.util.Scanner;
import java.util.regex.MatchResult; public class Demo11 {
public static void main(String[] args) {
String s = "xiaoming2001/9/8\n"
+ "dahuang2005/11/9";
Scanner scanner = new Scanner(s);
String pattern = "(\\w+g)\\d+/(\\d+/\\d+)";
while(scanner.hasNext(pattern)) {
scanner.next(pattern);
MatchResult m = scanner.match();
String name = m.group(1);
String birthday = m.group(2);
System.out.println(name + " birthday : " + birthday);
}
scanner.close();
}
}
输出结果:
xiaoming birthday : 9/8
dahuang birthday : 11/9
结果说明:match()返回最后一次扫描操作(如,next(String pattern) )的匹配结果。
最新文章
- SqlServer数据库空间使用情况常用命令
- 初步了解JPA
- OpenGL阴影,Shadow Mapping(附源程序)
- 爆炸吧 js dom --------->; boom
- day10_面向对象第五天
- TCP总结
- java 在方法中新建线程,传参和加锁详解
- iOS中的项目新特性页面的处理
- tensorflow 学习笔记(转)
- js模拟静态方法
- iOS - Quartz 2D 二维绘图
- 微信公众平台开发,模板消息,网页授权,微信JS-SDK,二维码生成(4)
- Logstic回归采用sigmoid函数的原因
- redux 最简例子
- Hibernate查询,返回new对象(注意这个新定义的类要有构造函数),使用sql带条件分页查询并且把结果显示到一个对象的集里面的解决方案
- zsh fg: no job control in this shell.
- day25 Python __setattr__
- tomcat杂记
- 19.JDBC和数据库访问.md
- uwsgi+django架构程序内部无法获取全局变量
热门文章
- Cogs 604.方程(排列组合+高精度)
- Django-批量更新
- python 二分查找代码
- FFmpeg之avformat_alloc_context()
- 后盾网lavarel视频项目---Vue项目使用vue-awesome-swiper轮播插件
- 【MyBatis】【SQL】删除最快纪录诞生,从一千万条记录中删除八百万条仅用2分6秒
- mac中的word内容丢失
- selenium webdriver常用函数
- [PySpark] Build R&;D environment
- Asp.Net调用后台变量的三种写法