JavaSE 字符串和正则表达式

根据不懂的自己整理一下,跟着老师进度刷一遍课本,记录琐碎不懂知识

1.StringTokenizer类

      String[] mess= {"整数部分","小数部分"};
Scanner reader=new Scanner(System.in);
double x=reader.nextDouble();
String s=String.valueOf(x);
StringTokenizer fenxi=new StringTokenizer(s, ".");
for(int i=;fenxi.hasMoreTokens();i++) {
String strr=fenxi.nextToken();
System.out.println(mess[i]+":"+strr);
}
reader.close();

主要用于分割,调用hasMoreTokens方法可以判断是否到了最后,nextToken用于迭代

2.StringBuffer和StringBuilder区别

前者是线程安全的,因为加了synchronize锁

后者的线程不安全,但是效率比较高

3.正则

    String regex="(http://|www)[.]?\\w+[.]{1}\\w+[.]{1}\\p{Alpha}+";
String newStr=str.replaceAll(regex, "");//替代
System.out.println(str);
System.out.println(newStr);
String regex="\\D+";
String str="apple9orange5pineapple";
String digitWord[]=str.split(regex);//返回与正则匹配的数组
System.out.println(Arrays.toString(digitWord));

4.模式匹配

Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab");
boolean b = m.matches();
System.out.println(b);
         Pattern p = Pattern.compile("a");
Matcher m = p.matcher("aaaaa");
while(m.find()) {
System.out.println(m.group());
}
上一篇:[Oracle][DATAGUARD] LOGICAL STANDBY环境里,有些SEQUENCE无法应用,导致Primary和Standby无法同期


下一篇:MySql分组函数-Group by与having理解