一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - java判斷中文字符串長(zhǎng)度的簡(jiǎn)單實(shí)例

java判斷中文字符串長(zhǎng)度的簡(jiǎn)單實(shí)例

2020-07-30 16:16java教程網(wǎng) Java教程

下面小編就為大家?guī)?lái)一篇java判斷中文字符串長(zhǎng)度的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

話不多說(shuō),上代碼:

java" id="highlighter_170724">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/**
  * 獲取字符串長(zhǎng)度,如果有中文,則每個(gè)中文字符計(jì)為2位
  * @param value 指定的字符串
  * @return 字符串的長(zhǎng)度
  */
  public static int length(String value) {
    int valueLength = 0;
    String chinese = "[\u0391-\uFFE5]";
    /* 獲取字段值的長(zhǎng)度,如果含中文字符,則每個(gè)中文字符長(zhǎng)度為2,否則為1 */
    for (int i = 0; i < value.length(); i++) {
      /* 獲取一個(gè)字符 */
      String temp = value.substring(i, i + 1);
      /* 判斷是否為中文字符 */
      if (temp.matches(chinese)) {
        /* 中文字符長(zhǎng)度為2 */
        valueLength += 2;
      } else {
        /* 其他字符長(zhǎng)度為1 */
        valueLength += 1;
      }
    }
    return valueLength;
  }
 
 
 /**
  * 得到一個(gè)字符串的長(zhǎng)度,顯示的長(zhǎng)度,一個(gè)漢字或日韓文長(zhǎng)度為2,英文字符長(zhǎng)度為1
  * @param String s 需要得到長(zhǎng)度的字符串
  * @return int 得到的字符串長(zhǎng)度
  */ 
  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è)字符串的長(zhǎng)度,顯示的長(zhǎng)度,一個(gè)漢字或日韓文長(zhǎng)度為1,英文字符長(zhǎng)度為0.5
  * @param String s 需要得到長(zhǎng)度的字符串
  * @return int 得到的字符串長(zhǎng)度
  */ 
  public static double getLength(String s) {
  double valueLength = 0; 
    String chinese = "[\u4e00-\u9fa5]"; 
    // 獲取字段值的長(zhǎng)度,如果含中文字符,則每個(gè)中文字符長(zhǎng)度為2,否則為1 
    for (int i = 0; i < s.length(); i++) { 
      // 獲取一個(gè)字符 
      String temp = s.substring(i, i + 1); 
      // 判斷是否為中文字符 
      if (temp.matches(chinese)) { 
        // 中文字符長(zhǎng)度為1 
        valueLength += 1; 
      } else { 
        // 其他字符長(zhǎng)度為0.5 
        valueLength += 0.5; 
      
    
    //進(jìn)位取整 
    return Math.ceil(valueLength); 
  }
根據(jù)長(zhǎng)度截取內(nèi)容,區(qū)分中英文:
 
/**
   * 截取字符長(zhǎng)度,區(qū)分中英文
   *
   * @param abc 字符串內(nèi)容
   * @param len 截取長(zhǎng)度
   * @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判斷中文字符串長(zhǎng)度的簡(jiǎn)單實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲黄色三级视频 | 国外欧美一区另类中文字幕 | 99国产精品 | 婷婷中文网 | 国产在线影院 | 大陆日韩欧美 | 我的好妈妈7中字在线观看韩国 | 国产福利免费看 | 啊啊啊好大在线观看 | 范冰冰好紧好滑好湿 | 午夜福利试看120秒体验区 | 暖暖在线精品日本中文 | 午夜影院一区二区三区 | 亚洲热在线观看 | 91在线亚洲精品一区 | 国产成人a v在线影院 | 色99视频 | 国产亚洲精品九九久在线观看 | 亚洲国产精品久久久久 | 欧美久久影院 | 欧美日韩一区二区三区在线播放 | 色老汉| 国产在线99| 啪啪无尽3d动漫漫画免费网站 | 久久无码人妻AV精品一区 | 精品欧美小视频在线观看 | 四虎影院com | 国产成人综合亚洲亚洲欧美 | 视频一区二区三区在线观看 | 福利久草 | 欧美一级级a在线观看 | 国产亚洲欧美在线中文bt天堂网 | 国产日韩欧美综合一区二区三区 | 天使萌痴汉在线中文字幕 | 国产人va在线 | 成人a级特黄毛片 | 国产伦精品一区二区三区免费迷 | 肉宠文很肉到处做1v1 | 日本欧美大码a在线视频播放 | 桃乃木香在线 | 美女舒服好紧太爽了视频 |