




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本章导读本章导读1、 String类类2、 StringBuffer类类3、 StringTokenizer类类4、正则表达式与模式匹配、正则表达式与模式匹配5、元字符模式、元字符模式6、限定符模式、限定符模式7、模式的逻辑或、模式的逻辑或public class Example6_1 public static void main(String args ) String s1,s2; s1=new String(we are students); s2=new String(we are students); System.out.print(s1.equals(s2)+ ); Syste
2、m.out.println(s1=s2); String s3,s4; s3=how are you; s4=how are you; System.out.print(s3.equals(s4)+ ); System.out.println(s3=s4); System.out.print(s1.contains(s3)+ ); System.out.println(s2.contains(stu); D:javajavac Example6_1.javaD:javajava Example6_1true falsetrue truefalse truepublic class Exampl
3、e6_2 public static void main(String args ) double n,sum=0.0 ; for(int i=0;ijavac Example6_2.javaD:javajava Example6_2 62 56 58 69平均数平均数:61.258658的二进制表示的二进制表示:100001110100108658的八进制表示的八进制表示:207228658的十六进制表示的十六进制表示:21d2import java.util.Date; public class Example6_3 public static void main(String args
4、) Date date=new Date(); Student stu=new Student(张三张三,89); TV tv=new TV(电视机电视机,8776); System.out.println(date.toString(); System.out.println(stu.toString(); System.out.println(tv.toString(); class Student String name; double score; Student(String name,double score) =name; this.score=score; p
5、ublic String toString() return 姓名姓名:+name+,分数分数:+score; class TV String name; double price; TV(String name,double price) =name; this.price=price; D:javajavac Example6_3.javaD:javajava Example6_3Sat Nov 06 23:45:08 CST 2010姓名姓名:张三张三,分数分数:89.0TV14318bbimport java.util.Scanner;public class Exa
6、mple6_4 public static void main(String args ) Scanner reader=new Scanner(System.in); String s=reader.nextLine();/*nextLine()等待输入()等待输入文本,文本, 该方法得到该方法得到String类型数据类型数据*/ char a=s.toCharArray(); for(int i=0;ia.length;i+) ai=(char)(aiw); String secret=new String(a); System.out.println(密文密文:+secret); for
7、(int i=0;ijavac Example6_4.javaD:javajava Example6_4您好!您好!密文密文:惟夊惟夊?原文原文:您好!您好!public class Example6_5 public static void main(String args ) byte d=YOUIHE你我他你我他.getBytes(); System.out.println(数组数组d的长度是的长度是(一一个汉字占两个字节个汉字占两个字节):+d.length); String s=new String(d,6,2); System.out.println(s); D:javajavac
8、 Example6_5.javaD:javajava Example6_5数组数组d的长度是的长度是(一个汉字占两个字一个汉字占两个字节节):12你你public class Example6_6 public static void main(String args ) StringBuffer str=new StringBuffer( ); str.setCharAt(0 ,a); str.setCharAt(1 ,b); System.out.println(str); str.insert(2, *); System.out.println(str); str.delete(6,8)
9、; System.out.println(str); 例例6_6D:javajavac Example6_6.javaD:javajava Example6_6ab23456789ab*23456789ab*236789import java.util.*; public class Example6_7 public static void main(String args ) String mess=整数部分整数部分,小数部分小数部分; Scanner reader=new Scanner(System.in); double x=reader.nextDouble(); String s
10、=String.valueOf(x); /将数字将数字x转换为字符串转换为字符串 StringTokenizer fenxi=new StringTokenizer(s,.); for(int i=0;fenxi.hasMoreTokens();i+) String str=fenxi.nextToken(); System.out.println(messi+:+str); D:javajavac Example6_7.javaD:javajava Example6_7678.32整数部分整数部分:678小数部分小数部分:32例例6-8import java.util.regex.*;pub
11、lic class Example6_8 public static void main(String args ) Pattern p; /模式对象模式对象 Matcher m; /匹配对象匹配对象 String s1=0A1A2A3A4A5A6A7A8A9; /待匹配的字符序列待匹配的字符序列 p=Ppile(dAd);/用模式用模式dAd初始化模式初始化模式对象对象 m=p.matcher(s1); /用待匹配字符序列初始化匹配对象用待匹配字符序列初始化匹配对象 while(m.find() String str=m.group(); System.out.print(从从+m.star
12、t()+到到+m.end()+匹配模匹配模式子序列式子序列:); System.out.println(str); 例例6-8String temp=m.replaceAll(*); System.out.println(temp); System.out.println(s1); m=p.matcher(9A00A3); /重新初始化匹配对象重新初始化匹配对象 if(m.matches() String str=m.group(); System.out.println(str); else System.out.println(不完全匹配不完全匹配); if(m.lookingAt() S
13、tring str=m.group(); System.out.println(str); D:javajavac Example6_8.javaD:javajava Example6_8从从0到到3匹配模式子序列匹配模式子序列:0A1从从4到到7匹配模式子序列匹配模式子序列:2A3从从8到到11匹配模式子序列匹配模式子序列:4A5从从12到到15匹配模式子序列匹配模式子序列:6A7从从16到到19匹配模式子序列匹配模式子序列:8A9*A*A*A*A*0A1A2A3A4A5A6A7A8A9不完全匹配不完全匹配9A0例例6-9例例6-9import java.util.regex.*;publi
14、c class Example6_9 public static void main(String args ) Pattern p; Matcher m; String s=2008年年08月月08日日20点点,北京奥运开幕北京奥运开幕; p=Ppile(“d+”);/用模式用模式“d +”初始化模式对初始化模式对象象 /查找查找s中的数字信中的数字信息所用模式息所用模式 m=p.matcher(s); /用待匹配字符序列初始化匹配对象用待匹配字符序列初始化匹配对象 while(m.find() String str=m.group(); System.out.print(从从+m.star
15、t()+到到+m.end()+匹配匹配模式子序列模式子序列:); System.out.println(str); p=Ppile(D+);/查找查找s中的非数字信息所用模中的非数字信息所用模式式 m=p.matcher(s); while(m.find() String str=m.group(); System.out.print(从从+m.start()+到到+m.end()+匹匹配模式子序列配模式子序列:); System.out.println(str); D:javajavac Example6_9.javaD:javajava Example6_9从从0到到4匹配模式子序列匹配模
16、式子序列:2008从从5到到7匹配模式子序列匹配模式子序列:08从从8到到10匹配模式子序列匹配模式子序列:08从从11到到13匹配模式子序列匹配模式子序列:20从从4到到5匹配模式子序列匹配模式子序列:年年从从7到到8匹配模式子序列匹配模式子序列:月月从从10到到11匹配模式子序列匹配模式子序列:日日从从13到到21匹配模式子序列匹配模式子序列:点点,北京奥运开幕北京奥运开幕例例6-10import java.util.regex.*;public class Example6_10 public static void main(String args ) Pattern p; Match
17、er m; String s1=loveyouhatemelove123jkjhate999love888; p=Ppile(lovew3|hatew2); m=p.matcher(s1); while(m.find() String str=m.group(); System.out.print(从从+m.start()+到到+m.end()+匹配匹配模式子序列模式子序列:); System.out.println(str); 例例6-10D:javajavac Example6_10.javaD:javajava Example6_10从从0到到7匹配模式子序列匹配模式子序列:loveyo
18、u从从7到到13匹配模式子序列匹配模式子序列:hateme从从13到到20匹配模式子序列匹配模式子序列:love123从从23到到29匹配模式子序列匹配模式子序列:hate99从从30到到37匹配模式子序列匹配模式子序列:love8886.5 正则表达式与字符串分解 语言符号:从字符串中分解出可被独立使用的单词,这些语言符号:从字符串中分解出可被独立使用的单词,这些单词叫做语言符号。单词叫做语言符号。 为了分解一个字符串,必须事先制定用于分解字符串的分为了分解一个字符串,必须事先制定用于分解字符串的分隔标记。隔标记。 例:例:“We are students”,若空格是分隔标记,则字符串可,若
19、空格是分隔标记,则字符串可以分解出三个单词。以分解出三个单词。 用正则表达式分解字符串用正则表达式分解字符串 JDK1.4后,后,String类提供了一个实用的方法:类提供了一个实用的方法: public String split(String regex) 字符串调用该方法时,使用参数指定的正则表达式字符串调用该方法时,使用参数指定的正则表达式regex 作为分隔标记来分解出其中的单词,并将分解出的作为分隔标记来分解出其中的单词,并将分解出的单词存放在字符串数组中。单词存放在字符串数组中。 例如:字符串:例如:字符串:str=“1931年年09月月18日晚,日本发动侵日晚,日本发动侵华战争,
20、请记住这个日子华战争,请记住这个日子!”; 如果准备分解出全部由数字字符组成的单词,就必须如果准备分解出全部由数字字符组成的单词,就必须用非数字字符串作为分隔标记,可以使用正则表达式用非数字字符串作为分隔标记,可以使用正则表达式 String regex=”D+”;作为分隔标记,作为分隔标记,分解出分解出str中的单词:中的单词:String digitWord=str.split(regex); 那么,那么,digitWord0、 digitWord1和和digitWord2的的内容分别是内容分别是”1931”、”09”和和”18”.例例6-11例例6-11import java.util.Scanner; public class Example6_11 public static void main (String arg
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年危化品运输押运员模拟试卷(危化品特性与押运规范)历年真题及答案
- 燃气职业技能鉴定题库检测试题打印含完整答案详解【考点梳理】
- 数据库安全管理实务与风险防范
- 小学三年级口算速算专项练习
- 自考欧洲文化入门试题及答题技巧
- 2025年度全国性健康零食品牌区域总代理销售协议
- 2025年有机蔬菜种植与销售合作框架协议
- 2025年文化创意产业项目担保合作协议
- 2025年饮品连锁品牌特许经营合同纠纷预防及处理协议
- 2025年度城市绿化项目环保设施桩基钻孔灌注施工服务协议
- 光伏项目开发培训课件
- 职业年金政策讲解
- 智联猎头企业薪酬调研白皮书-2025年年中盘点
- 艾梅乙反歧视培训课件
- GB/T 10069.3-2024旋转电机噪声测定方法及限值第3部分:噪声限值
- 中国农业银行笔试题库(含答案)
- GA 1808-2022军工单位反恐怖防范要求
- GB 9706.202-2021医用电气设备第2-2部分:高频手术设备及高频附件的基本安全和基本性能专用要求
- GB/T 4745-2012纺织品防水性能的检测和评价沾水法
- 残疾人基本康复服务目录(2021年版)
- 全员安全生产责任制度
评论
0/150
提交评论