String.replaceAll()在统计大小写字母个数中的应用

来源:互联网 发布:《算法》第4版 编辑:程序博客网 时间:2024/06/06 13:22

     给定一个字符串,要统计其中大小写字母的个数。一般来说会用Character类中的isUpperCase和isLowerCase方法:

public class Count{
    
public static void main(String []args){
        String s 
= "2334badDDFDc%$(23";
        
int strUpper = 0;
        
int strLower = 0;
        
int strOther = 0;
        
forint i = 0; i < s.length(); i++){
            
if( Character.isUpperCase( s.charAt(i) ) == true)
               strUpper
++;
           
else if( Character.isLowerCase( s.charAt(i) ) == true)
               strLower
++;
           
else
               strOther
++;
        }
        System.out.println( 
"字符串总长度:" +s.length() );
        System.out.println( 
"大写英文字母总个数:" +strUpper );
        System.out.println( 
"小写英文字母总个数:" +strLower);
        System.out.println( 
"非英文字母总个数:" +strOther);
    }
}

    然而,用String类的replaceAll方法也可以实现这一目标,而且程序看起来更为简单:

public class Count{
    
public static void main(String []args){
        String str = "asdSFfsS#!@#DFa223sdD$Fsf";
        String str_Upper 
= "";
        String str_Lower 
= "";
        String str_Other 
= "";

        str_Upper 
= str.replaceAll( "[^A-Z]","" );
        str_Lower 
= str.replaceAll( "[^a-z]","" );
        str_Other 
= str.replaceAll( "[a-zA-Z]","" );

        System.out.println( 
"字符串总长度:"+str.length() );
        System.out.println( 
"大写英文字母总个数:"+str_Upper.length() );
        System.out.println( 
"小写英文字母总个数:"+str_Lower.length() );
        System.out.println( 
"非英文字母总个数:"+str_Other.length() );
    }
}
原创粉丝点击