java 判斷中文字串長度
阿新 • • 發佈:2019-02-09
/** * 獲取字串的長度,中文佔一個字元,英文數字佔半個字元 * * @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); }