`

在java判断字符串有多少中文字

 
阅读更多

/*
* 判断字符串中有多少中文字符
*/
import java.util.regex.*;
import java.util.*;

public class NumCount{
private static String str = "可哦dads啊d好地方的kadsc";
private static Pattern p;
private static Matcher m;

public static int getNum(String str){
int count=0;
String regEx = "[//u4e00-//u9fa5]";
p = Pattern.compile(regEx);
m = p.matcher(str);
while(m.find())count++;
return count;
}

public static int aloneChar(String str){
int together=0;
Map map=charLinked(str);
Iterator iter=map.values().iterator();
while(iter.hasNext()){
together+=((Integer)iter.next()).intValue();
}
return getNum(str)-together;
}

public static Map charLinked(String str){
Map map=new HashMap();
String temp=null;
String regEx = "[//u4e00-//u9fa5][//u4e00-//u9fa5]+";
p = Pattern.compile(regEx);
m = p.matcher(str);
while(m.find()){
temp=m.group();
map.put(temp,new Integer(temp.getBytes().length/2));
}
return map;
}

public static void main(String[] args) {
System.out.println(getNum(str));
System.out.println(charLinked(str));
System.out.println(aloneChar(str));
}
}

Ec中文版有些bug,有时候不能运行,需要重启才可以

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics