首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

获取字符串现实长度

2013-08-04 
获取字符串实际长度public class StringUtil {// 获取字符串实际长度public static int getStringLen(Stri

获取字符串实际长度
public class StringUtil {// 获取字符串实际长度public static int getStringLen(String s) {int len = 0; // 保存实际长度的字符串if (s == null || s.length() == 0) {len = 0; // 是空值或空字符串长度为0} else {for (int i = 0; i < s.length(); i++) {char c = s.charAt(i);if (isChinese(c)) { // 是中文汉字和符号len = len + 2; // 长度加2} else {len++;// 其它长度加1}}}return len;}// 根据Unicode编码完美的判断中文汉字和符号private static boolean isChinese(char c) {Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION) {return true;}return false;}}

?

热点排行