一、治疗口吃。
将字符串“我我我我我我我..........我.......要要要要要..................要要要要...学习习习习.......习习习习习习习习编程程程程程程.......程程程程程程程程程”变成“我要学习编程”
分析:先将....去掉:使用"\\.+"模式,再将叠词替换成一个:使用"(.)\\1+"模式。
代码:
1 package p02.Exercise; 2 3 public class Demo01 { 4 public static void main(String args[]) 5 { 6 String str="我我我我我我我..........我.......要要要要要..................要要要要...学习习习习.......习习习习习习习习编程程程程程程.......程程程程程程程程程"; 7 //1.先去掉. 8 String regex="\\.+"; 9 str=str.replaceAll(regex, ""); 10 // System.out.println(str); 11 //2.合并叠词。 12 regex="(.)\\1+"; 13 str=str.replaceAll(regex, "$1"); 14 System.out.println(str); 15 } 16 }
运行结果:
我要学习编程
二、ip地址排序。
将若干个ip地址排序输出。
"192.168.10.34 127.0.0.1 105.70.11.75 3.3.3.3"
思路:排序使用TreeSet自动完成,但是排序方式是根据字符串的字典序排序,要想按照大小排序,需要添加前导0,输出的时候需要去掉前导0.
代码:
1 package p02.Exercise; 2 3 import java.util.TreeSet; 4 5 public class Demo02 { 6 public static void main(String args[]) 7 { 8 String str="192.168.10.34 127.0.0.1 105.70.11.75 3.3.3.3"; 9 //1.先分割ip地址。 10 String regex=" +"; 11 String arr[]=str.split(regex); 12 for(String s:arr) 13 System.out.println(s); 14 System.out.println(); 15 System.out.println(); 16 17 //2.给每个字节段不足3位的补零,先补上两个0 18 regex="(\\d+)"; 19 for(int i=0;i<arr.length;i++) 20 { 21 arr[i]=arr[i].replaceAll(regex, "00$1"); 22 } 23 //3.去掉多余的0,只保留三位。 24 regex="0*(\\d{3})"; 25 for(int i=0;i<arr.length;i++) 26 { 27 arr[i]=arr[i].replaceAll(regex, "$1"); 28 System.out.println(arr[i]); 29 } 30 System.out.println(); 31 System.out.println(); 32 //4.放入TreeSet集合进行排序。 33 TreeSet <String>ts=new TreeSet<String>(); 34 for(String s:arr) 35 { 36 ts.add(s); 37 } 38 regex="0*(\\d+)"; 39 for(String s:ts) 40 { 41 System.out.println(s.replaceAll(regex, "$1")); 42 } 43 } 44 }
运行结果:
1 192.168.10.34 2 127.0.0.1 3 105.70.11.75 4 3.3.3.3 5 6 7 192.168.010.034 8 127.000.000.001 9 105.070.011.075 10 003.003.003.003 11 12 13 3.3.3.3 14 105.70.11.75 15 127.0.0.1 16 192.168.10.34
在去掉多余的0的时候,使用的模式是:"0*(\\d+)",这样即使全部都是0,在最后使用$1进行替换的时候也能留住最后一个0。
三、校验邮箱。
使用的模式:"\\w+@[a-zA-Z0-9]+(\\.[a-z]{2,3}){1,2}",意思用户标识符为字母数字下划线,长度不限;邮件服务器域名第一个单词应为字母数字的组成,其余应为小写字母组成。
代码:
1 package p02.Exercise; 2 3 public class Demo03 { 4 public static void main(String args[]) 5 { 6 String str="kdyzm@sina.com"; 7 String regex="\\w+@[a-zA-Z0-9]+(\\.[a-z]{2,3}){1,2}"; 8 System.out.println(str.matches(regex)); 9 } 10 }