zoukankan      html  css  js  c++  java
  • 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());
             }        
  • 相关阅读:
    [BZOJ2882] 工艺
    团队项目成员和题目
    软件工程课堂作业(最小数组和)
    每周进度条(第六周)
    梦断代码阅读笔记01
    每周进度条(第五周)
    每周进度条(第四周)
    软件工程个人作业03
    软件工程个人作业02
    每周进度条(第三周)
  • 原文地址:https://www.cnblogs.com/littlepage/p/9874100.html
Copyright © 2011-2022 走看看