题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
题目分析:统计某一种类型的数量的时候,只要将特定的类型重字符中取出,用原来的长度-剩下的长度=某个特定类型的数量。
而正则表达式能很快的取出其中的指定类型。
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入需要分类的字符串:");
//获取输入字符串
String st=sc.nextLine();
//关闭输入流
sc.close();
//定义三个变量来存储所需要的值
int zm=0;
int kg=0;
int sz=0;
//使用正则表达式清除字符串中所有字母
zm =st.length()-(st.replaceAll("[a-zA-Z]","")).length();
//清除字符串中所有空格
kg =st.length()-(st.replaceAll("[ ]","")).length();
//清除字符串中所有的数字
sz =st.length()-(st.replaceAll("[0-9]","")).length();
System.out.println("这个字符串中字母有"+zm+"\n空格有:"+kg+"\n数字有:"+sz);
}
结果为: