JavaSE 字符串和正则表达式
Posted Steve Yu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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=0;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()); }
以上是关于JavaSE 字符串和正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
通过 Java 正则表达式提取 semver 版本字符串的片段