java判断中文字符串长度

java返回中文字符串长度
 
标签: <无>
 

代码片段(1)[全屏查看所有代码]

1. [代码][Java]代码     

?
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
public class StringLength {
 
     /**
      * 获取字符串的长度,如果有中文,则每个中文字符计为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;
     }
     
     public static void main(String args[]){
         String str = "hello你好" ;
         System.out.println(StringLength.length(str));
     }
 
}
 
 

猜你喜欢

转载自lihaiming.iteye.com/blog/2256488
今日推荐