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 字符串和正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

JavaSE 字符串和正则表达式

JavaSE-31 Java正则表达式

通过 Java 正则表达式提取 semver 版本字符串的片段

javaSE (十四)正则表达式

JAVASE01---Unit02: 正则表达式 Object 包装类

asp.net 使用正则表达式验证包含打开/关闭括号片段的属性字符串