文档章节

Scanner

wrean2013
 wrean2013
发布于 2013/11/01 16:39
字数 348
阅读 29
收藏 0
解析Html,Document直接生成html()字符串,BufferedReader的构造方法没有字符串,用到了Scanner,Scanner牛逼的地方在于可接收很多种对象构造。String,File,InputStream等均可用起处理,然后根据分隔符或正则扫描整个文本进行处理。Scanner默认分隔符是空白,可更改分隔符:
String input = "1 fish 2 fish red fish blue fish";
 Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
 System.out.println(s.nextInt());
 System.out.println(s.nextInt());
 System.out.println(s.next());
 System.out.println(s.next());
 s.close();
也可以:
String input = "1 fish 2 fish red fish blue fish";
 Scanner s = new Scanner(input);
 String line = s.findInLine("(\\d+) fish (\\d+) fish (\\w+) fish (\\w+) fish");
 System.out.println(line);
 MatchResult result = s.match();
 for(int i=0;i<result.groupCount();i++){
	 System.out.println(result.group(i+1));
 }
 s.close();
默认情况下扫描器会将数字解释为十进制形式,除非已经使用  useRadix(int) 方法设置了不同的基数。不管以前是否更改, reset() 方法将把扫描器的基数重置为10 。

delimiter()返回此 Scanner 当前正在用于匹配分隔符的 Pattern。
hasNext() 判断扫描器中当前扫描位置后是否还存在下一段。(原APIDoc的注释很扯淡)
hasNextLine() 如果在此扫描器的输入中存在另一行,则返回 true。
next() 查找并返回来自此扫描器的下一个完整标记。
nextLine()  此扫描器执行当前行,并返回跳过的输入信息。

更具体的见JDK API. Scanner JDK API翻译:20131101

© 著作权归作者所有

共有 人打赏支持
上一篇: Jsoup
wrean2013
粉丝 42
博文 179
码字总数 106327
作品 0
深圳
架构师
私信 提问
JAVA TCP通信练习

1、Server端 2、Client端

玩代码的小坏孩
2016/07/29
34
0
为什么Scanner上出错了!

我的代码如下: import java.util.Scanner; public class a{ public static void main(String[] args){ int zhs=80; boolean isBig; Scanner input = new Scanner(System.in); System.out.pr......

这也不行
2011/04/07
983
3
java 键盘输入多种方法

实例程序: 1、利用 Scanner 实现从键盘读入integer或float 型数据 //import java.io.;import java.util.;public class InputTest{public static void main(String[] args){ Scanner in = ne......

测试-雨
2015/10/21
233
0
建设qmail服务器的病毒防护系统(已修改)

主要参考文档http://www.chinaunix.net/jh/14/84825.html 最近病毒比较猖獗,只好给公司的邮件服务器加个病毒扫描,综合考虑了几种方案,结合自己的现有系统考虑,认为qmail-scanner+clamav(...

红薯
2009/05/05
166
0
IOS --NSScanner类的用法

NSScanner是一个类,用于在字符串中扫描指定的字符,通常是将他们转换成数字和别的字符串。我们可以在创建NSScanner时指定它的string属性,然后scanner会按照我们的要求从头到尾扫描这个字符...

求是科技
2015/02/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 没时间 没头发 但有钱

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @开源中国总经办主任 :分享齐一的单曲《这个年纪》 《这个年纪》- 齐一 手机党少年们想听歌,请使劲儿戳(这里) @肿肿卷 :我真的可以睡一天...

小小编辑
58分钟前
11
4
Django进阶 1.1 ORM基础—ORM 1.2.1 增删改查之查询 1.2.2 删改增 (1) 1.2.3 删改增 (2)

ORM基础 ORM是Django操作数据库的API,Django的作者将sql语句封装在里面供我们使用。 我们前面还提到过Django提供一个模拟数据库的工具,sqlite,供我们学习测试使用。 如果我们想使用mysql...

隐匿的蚂蚁
今天
3
0
Windows 上安装 Scala

在安装 Scala 之前需要先安装 Java 环境,具体安装的详细方法就不在这里描述了。 您可以自行搜索我们网站中的内容获得其他网站的帮助来获得如何安装 Java 环境的方法。 接下来,我们可以从 ...

honeymose
今天
3
0
数据库篇多表操作

第1章 多表操作 实际开发中,一个项目通常需要很多张表才能完成。例如:一个商城项目就需要分类表(category)、商品表(products)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系...

stars永恒
今天
3
0
nginx日志自动切割

1.日志配置(Nginx 日志) access.log----记录哪些用户,哪些页面以及用户浏览器,IP等访问信息;error.log------记录服务器错误的日志 #配置日志存储路径:location / {      a...

em_aaron
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部