1. 程式人生 > >去掉字元的首部和尾部字串的空格以及去掉中間連續的空格為一個空格

去掉字元的首部和尾部字串的空格以及去掉中間連續的空格為一個空格

String souuceString="  i   love    meituan    ";
String desStr;

1 Java

1.1 去掉首部和尾部的空格:

desStr=souuceString.trim(); 

desStr=souuceString.replaceAll("^ +| +$","");//去掉首部和尾部

1.2 去掉中間的連續空格為一個空格

desStr=desStr.replaceAll(" +"," ");

1.2 去掉所有空格

desStr=souuceString.replaceAll(" ",""); 
desStr=souuceString.replaceAll(" +","");

desStr=souuceString.replaceAll(" *","");//正則表示式  *為0到無窮

desStr=souuceString.replaceAll("\\s*","");  //正則 ,\s空白字元

    //1)replace的引數是char和CharSequence,即可以支援字元的替換,也支援字串的替換(CharSequence即字串序列的意思,說白了也就是字串);
        //2)replaceAll的引數是regex,即基於規則表示式的替換,比如,可以通過replaceAll("\\d", "*")把一個字串所有的數字字元都換成星號;

 1.3 具體例子

   
        String souuceString="  i   love    meituan    ";
        String desStr;
        //1 Java trim方法會去掉首部和尾部的空格。
        //  trim()是去掉首尾空格
        desStr=souuceString.trim();  
        System.out.println(desStr);
        //2 去掉所有的空格
        //1)replace的引數是char和CharSequence,即可以支援字元的替換,也支援字串的替換(CharSequence即字串序列的意思,說白了也就是字串);
        //2)replaceAll的引數是regex,即基於規則表示式的替換,比如,可以通過replaceAll("\\d", "*")把一個字串所有的數字字元都換成星號;
        desStr=souuceString.replaceAll(" ","");  
        System.out.println(desStr);
        
        desStr=souuceString.replaceAll(" +","");//正則表示式  +為1到無窮
        System.out.println(desStr);
        
        desStr=souuceString.replaceAll(" *","");//正則表示式  *為0到無窮
        System.out.println(desStr);
        
        desStr=souuceString.replaceAll("\\s*","");  //正則 ,\s空白字元
        System.out.println(desStr);
        
        //3匹配首部和尾部(java中String.trim()方法),之後匹配中間的字元
        System.out.println("下面開始轉換:"+souuceString);
        desStr=souuceString.trim();  
        System.out.println("去掉首部和尾部的字元:"+desStr);
        desStr=desStr.replaceAll(" +"," ");
        System.out.println("去掉首部和尾部的字元,且再次去掉中間,只剩一個字串為:"+desStr);    
        
        //4全部為正則表示式
        souuceString="  i   love    meituan    ";
        desStr=souuceString.replaceAll("^ +| +$","");//去掉首部和尾部
        System.out.println("去掉首部和尾部的字元:"+desStr);
        desStr=desStr.replaceAll(" +"," ");
        System.out.println("去掉首部和尾部的字元,且再次去掉中間,只剩一個字串為:"+desStr);