一个经典的Map+正则表达式练习题:给定一个带其他文字的字母字符串,求出各个字符有多少个?
2016-09-29 10:35
344 查看
package com.test; import java.util.HashMap; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args) { String str = "aaaaaannnnnnnnvvvva阿森纳反复vvvvasd阿萨德vvdddddddddddffffffasdadasdasdadasdasdasdasd"; //首先要先把中文去掉,使用正则表达式获取字母; String s1 = getString(str); char[] ch = s1.toCharArray(); Map<Character,Integer> map = new HashMap<Character,Integer>(); for (int i = 0; i < ch.length; i++) { if(map.containsKey(ch[i])){ int n = map.get(ch[i])+1; map.put(ch[i], n); }else{ map.put(ch[i],1); } } System.out.println(map); } public static String getString(String str){ Pattern p = Pattern.compile("[a-zA-Z]"); StringBuffer buf = new StringBuffer(); char[] c = str.toCharArray(); for (int i = 0; i < c.length; i++) { Matcher m = p.matcher(c[i]+""); if(m.find()){ buf.append(c[i]); } } return buf.toString(); } }
相关文章推荐
- java循环练习:输入一个字符串,统计该字符串中分别包含多少个数字,多少个字母,多少个其他字符
- 输入一个字符串,统计该字符串中分别包含多少个数字,多少个字母,多少个其他字符
- 编写一个函数,从实参传来一个字符串,统计其中字母,数字,空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果
- python小练习1:给一个字符串,统计其中的数字、字母和其他类型字符的个数
- C# 上机题 写一个静态方法,输出字符串中大小写字母、数字和其他字符个数
- 给定一个字符串,确定它是否是回文,只考虑字母数字字符和忽略大小写。
- 给定一个字符串列表,找出单词中最长单词,可以用l列表中的其他单词一次构建一个字符。返回具有最小字典顺序的最长单词。
- php面试题:如何知道一个未知长度的字符串哪个字符出现的次数最多?(字符串可由字母,数字及其他字符组成)请写出代码。
- 对于给定的一个字符串,统计其中数字字符出现的次数。输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。
- 输入一个字符串,分别统计出包含的英文字母、数字、空格和其他字符的个数
- 完美字符串 输入一个字符串S(S的长度 <= 10000),S中没有除字母外的其他字符。由你将1-26分配给不同的字母,使得字符串S的完美度最大,输出这个完美度。如dad 77
- 编写一个函数,分别统计出传入字符串参数(可能不止一个参数)的英文字母,空格,数字和其他字符的个数
- 统计一个字符串中数字、字母、空格和其他字符的个数
- 8.9 编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,并输出结果。(改)
- 给定一个字符串s由大小写字母和空白字符组成,返回字符串中最后一个字的长度。 如果最后一个字不存在,则返回0。
- 【2013微软校招面试题】求给定的一个字符串最小需要添加多少个字符才能成为回文串
- 在一个字符串中,统计大写字母个数,小写字母个数,其他字符个数的四种算法
- 在一个字符串中找空格的个数,字母的个数,数字的个数,和其他字符的个数
- 35.给定的字符串中字母顺序前移,其他字符顺序后移。
- 一个只由字母数字字符和破折号组成的字符串S. 该字符串被N个破折号分成N + 1个组。 给定数字K,使得每个组包含完全K个字符,除了第一个组可能少于K