实验六  字符串与正则表达式
一、     实验目的和要求
1、掌握字符串操作
2、掌握正则表达式的应用。
二、     实验内容
1、按程序模板要求,将注释处替换为Java程序代码。
2、编写一个模式匹配函数,用于验证一串字符串是否符合email格式。
三、     实验环境
硬件:
1.       PC
软件:
1.       Windows XP Professional 中文版
2.       JDK 1.7
3.       JCreator 4.5 英文版
四、     算法描述及实验步骤
u       实验步骤:
1、填充程序模板
按模板要求,将【代码1】~【代码9】替换为Java程序代码。
【代码1
【代码2
【代码3
【代码4
【代码5
【代码6
【代码7
【代码8
【代码9
完整代码见附录.
2、编写一个模式匹配函数,用于验证一串字符串是否符合email格式。
五、     调试过程
使用JCeator 4.5作为IDE
编译:
编译正确。
运行并得到结果。
两个内容都一次性通过编译。
六、     实验结果
1、 内容一:
JCreator的输出窗口得到以下结果
2、 内容二:
JCreator的输出窗口得到以下结果
七、     总结
内容一很简单就是让我们能熟练地使用String类而已。
内容二只要细心一定能做的出来,注意几点:1、含有“@”和“.”,2、“@”只有一个,“.”可以有多个,3、“@”在“.”的前面就行了。
八、     附录:
内容一代码:
class StringExample{
         public static void main(String args[]){
                  String s1=new String("you are a student"),
                            s2=new String("how are you");
                   if(s1.equals(s2)){               //判断s1s2是否相同
                            System.out.println("s1s2相同");
                   }
                   else{
                            System.out.println("s1s2不相同");
                   }
                   String s3=new String("22030219851022024");
                   if(s3.startsWith("220302")){// 判断s3的前缀是否是“220302
                            System.out.println("吉林省的身份证");
                   }
                   String s4=new String(""),
                            s5=new String("");
                   if(s4.compareTo(s5)>0){  //s4大于s5
                            System.out.println("s4大于s5");
                   }
                   else{
                            System.out.println("s4小于s5");
                   }
                   int position=0;
                   String path="c:\\java\\jsp\\A.java";
                   position=path.lastIndexOf("\\");     //获取path中最后出现目录分隔符号的位置
                   System.out.println("c:\\java\\jsp\\A.java中最后出现\\的位置:"+position);
                   String fileName=path.concat("A.java"); //// 获取path中“A.java”子字符串
                   System.out.println("c:\\java\\jsp\\A.java中含有的文件名:"+fileName);
                   String s6=new String("100"),
                            s7=new String("123.678");
                   int n1=Integer.parseInt(s6);             // s6转化成int型数据
                   double n2=Double.parseDouble(s7);       // // s7转化成double型数据
                   double n=n1+n2;
                   System.out.println(n);
                   String s8=new String("ABCDEF");
                   char a[]=s8.toCharArray();                // s8存放到数组a
                   for(int i=a.length-1;i>=0;i--){
                            System.out.print(a[a.length-i-1]+",");     //打印 a[I]
                   }
         }
}
 
 
内容二代码: