- 1
- 0
- 约2.95千字
- 约 60页
- 2018-06-30 发布于四川
- 举报
java实用程序设计(西电版)第六章常用预定义类
6.1 字符串操作 1. String 字符串操作是计算机程序中最常见的行为之一。在Java中,String是一种引用类型,Java程序中的String对象总是不可变的,String类中每个与String值的修改相关的方法,实际上都会创建一个新的String对象,以包含修改后的字符串的内容。 2. StringBuilder StringBuilder类是早期StringBuffer类的一个性能更高的替代者,提供了与StringBuffer兼容的API。与StringBuffer相比,StringBuilder是非同步的。一般情况下优先使用StringBuilder,只有在需要线程同步时才考虑使用StringBuffer。 3. CharSequence 在Java中,接口CharSequence包含了从String、StringBuffer、StringBuilder等类中抽象出的字符序列的一般操作,见表6-2。后续介绍的正则表达式的多数操作都接受CharSequence类型的对象。 4. Scanner 在J2SE 5.0中,引入了java.util.Scanner类来实现从文本或标准输入方便地读取数据。Scanner的构造方法可以接受多种输入对象,如File、InputStream、String、Readable等。有了Scanner对象之后,所有的输入、分词的操作都可以通过不同类型的next方法来完成。所有的基本类型(除char之外)都有对应的next方法,一般next()方法则返回String对象。所有的next方法,都只有在找到了一个完整的分词之后才会返回。Scanner类还包含hasNext()方法帮助判断下一个输入分词是否为所需的类型。 5. StringTokenizer StringTokenizer类是一个实现Enumeration接口的类,它使得应用程序可以将字符串分成多个记号(token)。分隔的依据是分隔符(delimiter),所谓分隔符,指的是字符串中用于分隔记号的字符。在默认情况下,分隔符为空格,例如将字符串“this is a test”分成四个单词记号。用户也可以指定分隔符。 6.2 正 则 表 达 式 正则表达式是一种很强大的文本处理工具,早在Java出现之前,它就已被用在Unix工具集中。 1. 正则表达式的创建 为了编写能够完成一般文本处理任务的正则表达式,本节介绍一些常用的正则表达式构造子。正则表达式中使用的字符的典型形式如表6-3所示。 2. 通过String使用正则表达式 在介绍String类的主要接口方法及其含义(表6-1)时,我们遗留了一些与正则表达式相关的String操作,如表6-8所示。 例6-9 StringReplacement.java:字符串替换操作。 3. 通过Pattern和Matcher使用正则表达式 相比直接使用String类与正则表达式相关的方法,使用java.util.regex包中的Pattern类和Matcher类进行正则表达式操作能够实现更为强大的功能。Pattern对象就是编译好的正则表达式,可以应用于任意多个字符串,而Matcher对象则对应于单独的字符串实例,表示将正则表达式应用于具体的目标字符串上。 查找和替换也是正则表达式的常用操作,第6.2节已经介绍了使用String的方法进行的查找和替换。Matcher类的replaceFirst(String)方法以参数字符串替换掉第一个匹配成功的字符串,replaceAll(String)方法以参数字符串替换掉所有匹配成功的字符串。假设s为输入字符串,regex为正则表达式字符串,s2为替换字符串,那么 s.replaceAll(regex,s2) 等价于 Ppile(regex).matcher(s).replaceAll(s2)且 s.replaceFirst(regex,s2)等价于 Ppile(regex).matcher(s).replaceFirst(s2) 4. 通过Scanner使用正则表达式 Scanner类除了能够扫描基本类型之外,还能够与自定义的正则表达式配合进行扫描。在例6-14中,使用hasNext()方法检查下一个记号是否与指定正则表达式pattern匹配,如果匹配,就通过next()方法找到这一输入部分,然后调用match()方法获得匹配的结果。匹配结果是MatchResult类型,能够通过group()方法获得正则表达式中指
您可能关注的文档
最近下载
- 部编版语文四年级下册第一单元教材解读大单元集体备课1.0版.pptx VIP
- 射血分数保留的心力衰竭诊断与治疗中国专家共识 2025解读.pptx
- 单相变压器计算单.xls VIP
- 小学操场塑胶跑道和人造草坪施工组织设计.docx VIP
- 小儿新生儿高胆红素血症诊疗指南(2025年版).docx VIP
- 高中地理二轮复习.ppt VIP
- 三段高级第11组《未来世界真奇妙》.ppt VIP
- 2026贵州毕节市七星关区融媒体中心招聘事业单位工作人员10人备考题库及答案详解1套.docx VIP
- 2025年陕西省榆林市榆阳区中考一模化学试题(原卷版+解析版).docx VIP
- 老旧社区物业管理与社区治理的协同发展模式.pdf VIP
原创力文档

文档评论(0)