根据不懂的自己整理一下,跟着老师进度刷一遍课本,记录琐碎不懂知识
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());
}