判斷字符串長度方法(數字字母占1個字符,漢字2個)


用於拿取字符串長度,一般的字符串.length()方法不能分辨字母數字和漢字占的字符串長度。

 

package com.iflytek.oss.common.utils;

/**
 * <p><字符串工具類>
 * <p><字符串工具類>
 * <p>
 * <p>Copyright (c) 2018, taoxue2@iflytek.com All Rights Reserve</p>;
 * <p>Company : 科大訊飛</p>
 *
 * @author taoxue2
 * @version [V1.0, ]
 * @see [相關類/方法]
 */
public class StringUtil {
    /**
     * 獲取字符串的長度,如果有中文,則每個中文字符計為2位
     * @param value 指定的字符串
     * @return 字符串的長度
     */
    public static int length(String value) {
        int valueLength = 0;
        String chinese = "[\u0391-\uFFE5]";
       /* 獲取字段值的長度,如果含中文字符,則每個中文字符長度為2,否則為1 */
        for (int i = 0; i < value.length(); i++) {
           /* 獲取一個字符 */
            String temp = value.substring(i, i + 1);
           /* 判斷是否為中文字符 */
            if (temp.matches(chinese)) {
               /* 中文字符長度為2 */
                valueLength += 2;
            } else {
               /* 其他字符長度為1 */
                valueLength += 1;
            }
        }
        return valueLength;
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM