题目内容:
从键盘输入一行中英文混合的文字,统计其中出现的每个英文字母的频率并依字母表顺序,依次输出统计结果,统计时忽略字母大小写的区别。
输入格式:
一行中英文混合的文字
输出格式:
输出每个字母及其出现次数,字母之间用2个空格分隔。
输入样例:
我们学习Java,we work very hard!
输出样例:
a=3 d=1 e=2 h=1 j=1 k=1 o=1 r=3 v=2 w=2 y=1
思路
1.把不是英文字符的给去掉
输入字符串里包含中文和英文,我们需要过滤掉中文只留下英文
- 可以使用正则来进行字符串的检索
Pattern pattern = Pattern.compile("^[a-zA-Z]+$"); Matcher matcher = pattern.matcher("ewernwenflsd"); System.out.println(matcher.find());
正则
^[a-zA-Z]+$
意味着以[a-zA-z]开头匹配1次或多次并且以此结尾。用来匹配完全由英文组成的字符串。
代码:String s = "Df32f__ f/;'a一些文字".replaceAll("[^a-zA-Z]",""); System.out.