统计字符

来源:互联网 发布:淘宝怎么搜假手表 编辑:程序博客网 时间:2024/06/05 15:08
public class CountDemo {
private static void count(String str) {
String E1 = "[\u4e00-\u9fa5]";// 汉字
String E2 = "[a-zA-Z]";// 字母
String E3 = "[0-9]";// 数字

String E4 = "\\s";// 空格

//重点一是正则表达式

int countChinese = 0;
int countLetter = 0;
int countNumber = 0;
int countSpace = 0;
int countOther = 0;
char[] chars = str.toCharArray();
String string = null;
for (char c : chars) {
string = String.valueOf(c);
if (string.matches(E1)) {
countChinese++;
} else if (string.matches(E2)) {
countLetter++;
} else if (string.matches(E4)) {
countSpace++;
} else if(string.matches(E3)){
countNumber++;
}else{
countOther++;
}
}
int total = countChinese + countLetter + countSpace + countOther;
System.out.println("汉字:" + countChinese + "," + "字母:" + countLetter
+ "," + "空格:" + countSpace + "," + "其他字符:" + countOther
+ "数字:" + countNumber+"总共:"+total);


}


public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Input Stirng:");

String str = in.nextLine();// 以回车为结束符号

next() //以回车或者空格为结束符号。

in.close();
count(str);


}
}
1 0