需求是这样的:
手机屏幕上需要画一个字符串,我要首先判断字符串的长度
英文字母,数字,其他字符(即Ascii码)。每个字符占一个字符,分配 n 个象素
但是汉字,每个汉字占两个字符,所以要分配 2n 个象素
所以,我想请教一下,求一个正则表达式,判断一个String里有多少汉字
这样我就可以给一个字符串分配象素了:
分配的象素 = (String.length() + 汉字的数目) * n
手机屏幕上需要画一个字符串,我要首先判断字符串的长度
英文字母,数字,其他字符(即Ascii码)。每个字符占一个字符,分配 n 个象素
但是汉字,每个汉字占两个字符,所以要分配 2n 个象素
所以,我想请教一下,求一个正则表达式,判断一个String里有多少汉字
这样我就可以给一个字符串分配象素了:
分配的象素 = (String.length() + 汉字的数目) * n
解决方案 »
- JTree展开后又折叠
- NoClassDefFoundError
- 求一个与排序有关的较好的算法
- 用JAVA语言编写一个程序求一个一元三次方程的根(用弦截法)
- 一个ACM题,虽然我已经提交正确了,但是我还有一个浮点精度的问题。
- 怎么会有100个错误,搞不懂,请高手看一看.
- The Network Adapter could not establish the connection
- 关于BigDecimal除法结果保留小数位数的问题
- 又一个关于frame的巨菜问题. 显示一个frame有多少种方法,各有何不同?
- 在JBuilder3.0中怎样定时用JDBC访问数据库
- 一道面试算法题目
- 关于String和StringBuffer
Matcher m = p.matcher(str); while (m.find()) {
System.out.println(m.group());
}截取中文。
分配的象素 = String.getBytes().length * n这样可以不?
String str = "我爱北京天安门XXXX Japanes";
System.out.println(str.length() - str.replaceAll("[\\p{InCJK Unified Ideographs}&&\\P{Cn}]", "").length());
}