最近在做新浪微博,腾讯微博,还有人人网的分享!
总算告一段落了,其中遇到了一个小问题,感觉还是有点意思的!就是对输入的字数进行统计,但是微博分享的时候,有字数限制,如果我们只是在客户端把字数定位140个字,但其实到微博里面可能不够140个字!让用户感觉到有偏差!因为两个英文字符对应一个汉字,这样的话就,如果字符串是“abcd”,客户端统计的是四个字符,但是到微博里面却是两个字符!小小的思考了一下,写了一下代码,将来可以直接拿来使用!
public class Test {
public static void main(String[] args) {
String a = "abc你你知道吗123132135465465465";
double len = 0;
for (int i = 0; i < a.length(); i++) {
int temp = (int)a.charAt(i);
if (temp > 0 && temp < 127) {
len += 0.5;
}else{
len ++;
}
}
System.out.println("字符串中a的字数为:"+Math.round(len)+"个");
}
}
其中对半个字符扩充到了一个字符!这样就不会产生偏差了!
下面是代码和运行结果!