尝试了一下 不错~
/** * 获取字符串的长度,中文占用一个字符,英文数字占半个字符 * * @param value 指定字符串 * @return 字符串的长度 */ public static double length(String value) { double valueLength = 0; String chinese = [\u4e00-\u9fa5]; // 获取字段值的长度,若含中文字符,则每个中文字符的长度为2,否则为1 for (int i = 0; i < value.length(); i++) { // 获取一个字符 String temp = value.substring(i, i + 1); // 判断它是否是中文字符 if (temp.matches(chinese)) { // 中文字符长度为1 valueLength += 1; } else { // 其它字符的长度为0.5 valueLength += 0.5; } } ///进位取整 return Math.ceil(valueLength); }
本文是转载内容,我们尊重原作者对文章的权利。如有内容错误或侵权行为,请联系我们更正或删除文章。