1. 程式人生 > 其它 >Java基礎之String和Stringbuffer的常用方法去獲取輸入郵箱的QQ

Java基礎之String和Stringbuffer的常用方法去獲取輸入郵箱的QQ

技術標籤:java基礎字串java正則表示式

首先給定一個郵箱:[email protected],我們怎麼去取出郵箱裡面的qq號呢?

1.String

第一個方法是對於這一串字元,我們可以通過string的split方法去對這個郵箱進行分割,以獲取到我們想要的qq,程式碼為:

           String z ="[email protected]";
             String regex = "@";//作為split的分隔符
             
         
             
             String z1[]=z.split(regex);//分割後得到的陣列
             System.out.println(z1[0]+"  第一個分割之後的字元");//第一個分割之後的字元
             System.out.println(z1[1]+"  第二個分割之後的字元");//第二個分割之後的字元

具體實現為先設定分割符regex(怎麼叫都行),然後建立一個數組去存放分隔之後的陣列物件,最後通過對陣列物件的獲取去得到qq,獲取之後的思路:可以用一個for迴圈去取出陣列然後進行比對輸出qq的,但這樣也差不多,故不多做介紹.實現效果為

第二個方法我們可以使用string的replace方法去對指定的字串進行替換,程式碼為

            String regex1 = "@qq.com";//作為替換的字元
             
             z.replaceAll(regex, "");    //字串的替換
             
             System.out.println( z.replaceAll(regex1, ""));

實現效果為:

2.Stringbuffer

同樣對於Stringbuffer來說,也有replace方法。實現程式碼為:

            String z ="[email protected]";
            StringBuffer s = new StringBuffer();
            s.append(z);//為stringbuff設定內容
            System.out.println(s.reverse());//reverse方法翻轉stringbuff物件
            System.out.println(s.replace(0, 7, ""));//replace方法替換第一個到第七個字元
            System.out.println(s.reverse()+"  Stringbuff的replace方法");

           //因為每一次使用reverse方法和replace方法都會直接改變stringbuff物件,
           //所以完整語句為s.reverse().replace(0, 7, "").reverse()

    

其中先通過append為stringbuffer設定內容,然後對字串進行翻轉,因為qq字數不固定,而後面的@qq.com是固定的,所以進行一個翻轉去通過replace去對第一個到第七個字元進行一個替換,然後再進行一個翻轉得出正確的qq,實現效果為

而第二個方法為通過stringbuffer的delete方法去進行刪除第一道第七個字串,具體流程同replace,程式碼為

          String z ="[email protected]";
          StringBuffer Z = new StringBuffer();
          Z.append(z);
          System.out.println(Z.reverse().delete(0, 7).reverse()+"  Stringbuff的delete方法");