前端之家收集整理的这篇文章主要介绍了
利用正则表达式匹配字符中多少个字母,数字,空格,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
public class SymbolNumber{
public static void main(String[] args) {
long last = System.nanoTime() ;
SymbolNumber symbolNumber = new SymbolNumber();
String s = "6sabcss sfsfs33中国";
System.out.println(symbolNumber.string(s,"[\u4e00-\u9fa5]")); //汉字个数
System.out.println(symbolNumber.string(s,"[a-z|A-Z]")); //字母个数
System.out.println(symbolNumber.string(s,"[0-9]")); //数字个数
System.out.println(symbolNumber.del(s,"[a|b|3]")); //去掉a、b、3
long now = System.nanoTime();
System.out.println(now - last);
}
/* 字符串中字母的个数 */
public int string(String s,String pattern){
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(s);
int i = 0;
while (m.find()) {
i++;
}
return i;
}
/* 删除字符串中指定的多个内容 */
public String del(String s,String pattern){
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(s);
StringBuffer sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb,"");
}
return sb.toString();
}
}