您的位置:首页 > 其它

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

2007-03-12 14:42 239 查看
     给定一个字符串,要统计其中大小写字母的个数。一般来说会用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;
        for( int 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() );
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string character class