zoukankan      html  css  js  c++  java
  • java 判断含有中文的字符串的长度

    1. public static boolean isLetter(char c) {   
    2.        int k = 0x80;   
    3.        return c / k == 0 ? true : false;   
    4.    }  
    5.   
    6. /** 
    7.  * 判断字符串是否为空 
    8.  * @param str 
    9.  * @return 
    10.  */  
    11. public static boolean isNull(String str){  
    12.     if(str==null||str.trim().equals("")||str.trim().equalsIgnoreCase("null")){  
    13.         return true;  
    14.     }else{  
    15.         return false;  
    16.     }  
    17. }  
    18.   
    19. /**  
    20.     * 得到一个字符串的长度,显示的长度,一个汉字或日韩文长度为2,英文字符长度为1  
    21.     * @param String s 需要得到长度的字符串  
    22.     * @return int 得到的字符串长度  
    23.     */   
    24.    public static int length(String s) {  
    25.        if (s == null)  
    26.            return 0;  
    27.        char[] c = s.toCharArray();  
    28.        int len = 0;  
    29.        for (int i = 0; i < c.length; i++) {  
    30.            len++;  
    31.            if (!isLetter(c[i])) {  
    32.                len++;  
    33.            }  
    34.        }  
    35.        return len;  
    36.    }  
    37.   
    38.      
    39.    /**  
    40.     * 得到一个字符串的长度,显示的长度,一个汉字或日韩文长度为1,英文字符长度为0.5  
    41.     * @param String s 需要得到长度的字符串  
    42.     * @return int 得到的字符串长度  
    43.     */   
    44.    public static double getLength(String s) {  
    45.     double valueLength = 0;    
    46.        String chinese = "[u4e00-u9fa5]";    
    47.        // 获取字段值的长度,如果含中文字符,则每个中文字符长度为2,否则为1    
    48.        for (int i = 0; i < s.length(); i++) {    
    49.            // 获取一个字符    
    50.            String temp = s.substring(i, i + 1);    
    51.            // 判断是否为中文字符    
    52.            if (temp.matches(chinese)) {    
    53.                // 中文字符长度为1    
    54.                valueLength += 1;    
    55.            } else {    
    56.                // 其他字符长度为0.5    
    57.                valueLength += 0.5;    
    58.            }    
    59.        }    
    60.        //进位取整    
    61.        return  Math.ceil(valueLength);    
    62.    }
    63. 转载来源:http://blog.csdn.net/z69183787/article/details/18843925
  • 相关阅读:
    软件开发基本原则(四)—— 风险管理 (转)
    软件开发基本原则(三)—— 基本原则 (转)
    人心散了,项目必然要败! (转)
    项目失败的若干征兆
    项目管理思考——角色转变
    软件开发基本原则(二)—— 典型错误 (转)
    项目管理思考——我适合做项目经理吗
    flex 学习篇 导航类容器
    mfc 中在 dc中 显示 位图
    第一次作业 黎娜 2013551605
  • 原文地址:https://www.cnblogs.com/peijyStudy/p/7827380.html
Copyright © 2011-2022 走看看