/** * 獲得一個字符串的長度,顯示的長度,一個漢字或日韓文長度爲2,英文字符長度爲1 * @param s 須要獲得長度的字符串 * @return int 獲得的字符串長度 */ public static int getLength(String s) { double valueLength = 0; String chinese = "[\u4e00-\u9fa5]"; // 獲取字段值的長度,若是含中文字符,則每一箇中文字符長度爲2,不然爲1 for (int i = 0; i < s.length(); i++) { // 獲取一個字符 String temp = s.substring(i, i + 1); // 判斷是否爲中文字符 if (temp.matches(chinese)) { // 中文字符長度爲2 valueLength += 2; } else { // 其餘字符長度爲1 valueLength += 1; } } //進位取整 return (int)Math.ceil(valueLength); }