1. 程式人生 > >JavaSE 字符串和正則表達式

JavaSE 字符串和正則表達式

www tostring style 正則表達式 表達式 pin ringbuf 記錄 for

根據不懂的自己整理一下,跟著老師進度刷一遍課本,記錄瑣碎不懂知識

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 字符串和正則表達式