欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java判斷中文字符串長度的簡單實(shí)例

 更新時(shí)間:2017年01月22日 09:41:37   投稿:jingxian  
下面小編就為大家?guī)硪黄猨ava判斷中文字符串長度的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

話不多說,上代碼:

 /**
  * 獲取字符串的長度,如果有中文,則每個(gè)中文字符計(jì)為2位
  * @param value 指定的字符串
  * @return 字符串的長度
  */
  public static int length(String value) {
    int valueLength = 0;
    String chinese = "[\u0391-\uFFE5]";
    /* 獲取字段值的長度,如果含中文字符,則每個(gè)中文字符長度為2,否則為1 */
    for (int i = 0; i < value.length(); i++) {
      /* 獲取一個(gè)字符 */
      String temp = value.substring(i, i + 1);
      /* 判斷是否為中文字符 */
      if (temp.matches(chinese)) {
        /* 中文字符長度為2 */
        valueLength += 2;
      } else {
        /* 其他字符長度為1 */
        valueLength += 1;
      }
    }
    return valueLength;
  }


 /** 
  * 得到一個(gè)字符串的長度,顯示的長度,一個(gè)漢字或日韓文長度為2,英文字符長度為1 
  * @param String s 需要得到長度的字符串 
  * @return int 得到的字符串長度 
  */  
  public static int length(String s) { 
    if (s == null) 
      return 0; 
    char[] c = s.toCharArray(); 
    int len = 0; 
    for (int i = 0; i < c.length; i++) { 
      len++; 
      if (!isLetter(c[i])) { 
        len++; 
      } 
    } 
    return len; 
  } 


  /** 
  * 得到一個(gè)字符串的長度,顯示的長度,一個(gè)漢字或日韓文長度為1,英文字符長度為0.5 
  * @param String s 需要得到長度的字符串 
  * @return int 得到的字符串長度 
  */  
  public static double getLength(String s) { 
  double valueLength = 0;  
    String chinese = "[\u4e00-\u9fa5]";  
    // 獲取字段值的長度,如果含中文字符,則每個(gè)中文字符長度為2,否則為1  
    for (int i = 0; i < s.length(); i++) {  
      // 獲取一個(gè)字符  
      String temp = s.substring(i, i + 1);  
      // 判斷是否為中文字符  
      if (temp.matches(chinese)) {  
        // 中文字符長度為1  
        valueLength += 1;  
      } else {  
        // 其他字符長度為0.5  
        valueLength += 0.5;  
      }  
    }  
    //進(jìn)位取整  
    return Math.ceil(valueLength);  
  }
根據(jù)長度截取內(nèi)容,區(qū)分中英文:

/**
   * 截取字符長度,區(qū)分中英文
   *
   * @param abc 字符串內(nèi)容
   * @param len 截取長度
   * @return
   */
  public static String subStr(String abc, int len) {
    if (TextUtils.isEmpty(abc) || len <= 0)
      return "";
    StringBuffer stringBuffer = new StringBuffer();
    int sum = 0;
    char[] chars = abc.toCharArray();
    for (int i = 0; i < chars.length; i++) {
      if (sum >= (len * 3)) {
        break;
      }
      char bt = chars[i];
      if (bt > 64 && bt < 123) {
        stringBuffer.append(String.valueOf(bt));
        sum += 2;
      } else {
        stringBuffer.append(String.valueOf(bt));
        sum += 3;
      }
    }
    return stringBuffer.toString();
  }


以上這篇java判斷中文字符串長度的簡單實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論