精华内容
下载资源
问答
  • Java判断字符串长度

    千次阅读 2019-04-25 15:35:02
    Java判断字符串长度

    首先给大家分享一个巨牛巨牛的人工智能教程,是我无意中发现的。教程不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈~我正在学习中,觉得太牛了,所以分享给大家!点这里可以跳转到教程

                   

    今天一个程序出了问题,排查了半天才发现,原来是因为原来的一个计算汉字长度的代码出了问题:

     public static int getStringRealLength(String str) throws Exception{
      String str1 = new String(str.getBytes("GB2312"),"iso-8859-1");
      return str1.length();
    }

    汉字中有生僻字:“旸”,结果计算出长度为1。后来将GB2312改成GBK就可以了。因为字符可以正确算出长度。

    原帖地址:http://blog.csdn.net/soundfuture/article/details/11601653

    汉字所占byte问题请参考我的博文:http://blog.csdn.net/woshixuye/article/details/7907537

               

    浏览人工智能教程

    展开全文
  • 判断字符串长度

    千次阅读 2008-10-13 14:48:00
    判断字符的一些js代码收集:/** * /brief 求得一个字符串的ANSI字符串长度,这里中文字符算两个。 * /param value 传入的UNICODE字符串 * /return 返回字符串的ANSI字符串长度 */function ByteWordCount...

     

    判断字符的一些js代码收集:

    /**
     *  /brief 求得一个字符串的ANSI字符串长度,这里中文字符算两个。
     *  /param value 传入的UNICODE字符串
     *  /return 返回字符串的ANSI字符串长度
     */
    function ByteWordCount(value) {
      var txt = value;
      txt = txt.replace(/(<.*?>)/ig,'');  
      txt = txt.replace(/([/u0391-/uFFE5])/ig,'11');
      return txt.length;
    }

    ----------------------------------------------------
    txt = txt.replace(/([/u0391-/uFFE5])/ig,'11');
    这一句的正则是什么意思啊?

    代表中文字符的范围,像英文范围 A-Z,a-z一样。

    东亚文字区的字符编码都是双字节的,得把它们替换成两个字母或数字,这样统计起来才正确。

    这里的'11' 是可以变的,只要是双字节即可如'kk'.

    ----------------------------------------------------

     

    /**
     *  /brief 判断一个字符是否是字母
     *  /param ch 要判断的字符
     *  /return true 是 false 不是
     */
    function isAlpha(ch) { 
      if(ch >= "a" && ch <= "z") return true;
      if(ch >= "A" && ch <= "Z") return true;
      return false;
    }


     

    /**
     *  /brief 判断一个字符是否是数字
     *  /param ch 要判断的字符
     *  /return true 是 false 不是
     */
    function isNumber(ch) { 
      if(ch >= "0" && ch <= "9") return true;
      return false;
    }



     

    /**
     *  /brief 判断一个字符是否是可打印标点符号
     *  /param ch 要判断的字符
     *  /return true 是 false 不是
     */
    function isSpecial(ch) { 
      var special = new Array("!","/"","#","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","//","]","^","_","`","{","|","}","~") 
      for(var i=0;i<special.length;++i) 
        if(ch == special[i ]) return true;
      return false;
    }



     

    function CheckValidStr(value)
    {
      var count=0;
      for(var i=0;i<value.length;++i) 
      {
        var ch = value.charAt(i);
        if(isAlpha(ch)||isNumber(ch)||isSpecial(ch))
          count++;
        else
          count=0;
        if(count>20)
        {
          return false;
        }
      }
      return true;
    }

     

    -----------------------------------------------------------------

     


    ------------------------------------------------------------------------------
     
     

    字符串长度计算是最简单了,说这个话题难免被人笑话,不过要是计算的字符串有具体要求就稍微有点想头了。高手自然可以跳过不读,免得我贻笑大方。

    最近做新闻发布系统,编辑发表新闻的时候标题不能超,所以要做个script计算一下长度(这里主要是说java,javascript带过),要求标题里面的英文算半个,中文算一个字长,标签不能算长度,标签是为了页面上显示标题颜色而来的。于是有如下script
    <script>
    function ByteWordCount(textarea) {
    var txt = textarea.value;
    txt = txt.replace(/(<.*?>)/ig,'');
    txt = txt.replace(/([/u0391-/uFFE5])/ig,'11');
    var count = txt.length;
    alert('字符串字数:' + count/2);
    }
    </script>

    在服务器端输出新闻到栏目页面的时候,要自动截断超过长度的新闻标题,
      public static String substring(String str,int len ){
        len=len*2;
       StringBuffer sb = new StringBuffer();
       int counter=0;
       for(int i=0;i<str.length();i++){
        char c = str.charAt(i);
        if(c<255){
          counter++;
        }else{
       counter=counter+2;
        }
        if(counter>len){
          break;
        }
        sb.append(c);
       }
        return sb.toString();
      }
    因为是按照char取字符,用上面的方法截断字符串不会有乱码。
    这里的长度也是英文算半个,中文算一个,如此新闻长标题不会把页面撑了。
    而截取含有颜色标签html代码的标题,要做特别处理
     final static String regexStr = "(<[//p{Alnum}|//p{Punct}|//s]+?>)(.+?)(<[//p{Alnum}|//p{Punct}|//s]+?>)";
     final static Pattern tagPattern = Pattern.compile(regexStr);
     /**裁截<font color=red>title</font>的长度*/
     public static String subTagString(String input,int len){
       StringBuffer result = new StringBuffer();
       Matcher matcher = tagPattern.matcher(input);
       while(matcher.find()){
         result.append(matcher.group(1));
         result.append(substring(matcher.group(2),len));//按长度截断
         result.append(matcher.group(3));
       }
       if(result.length()==0){
         return substring(input,len);
       }
       return result.toString();
       }

    展开全文
  • js判断字符串长度的方法

    千次阅读 2019-10-13 19:24:37
    js中判断字符串的长度一般都是使用 length 属性 ,但是 length 属性获取到的字符串长度是以字节为单位,如果我们想要利用 js 根据字节来获取或判断一串字符串的长度该如何做呢? js 按字符判断一串字符串的长度 ...

    js中判断字符串的长度一般都是使用 length 属性 ,但是 length 属性获取到的字符串长度是以字节为单位,如果我们想要利用 js 根据字节来获取或判断一串字符串的长度该如何做呢?

    js 按字符判断一串字符串的长度

    length:属性可以读取字符串的长度。长度以字符为单位,该属性为只读属性。
    示例代码:

    <script>
        var str = 'hello word!';
        console.log(str.length);
        var str2 = '你好,世界!你好,中国!';
        console.log(str2.length);
    </script>
    

    输出结果:11 12
    注:
    1、使用 length 属性获取长度,每个字符,包括空格,标点符号都算是一个字符
    2、length 属性中,中文字符也默认为一个字符

    js 按字节判断一串字符串的长度

    JavaScript 中支持的字节包括,单字节和双字节两种类型。一般来说英文以及英文符号占1个字符,中文汉字以及中文符号占2个字符
    示例1:
    charCodeAt():方法返回指定位置的字符的 Unicode 编码。它的值为 0 - 65535 之间的整数。

    <script>
        var str = '电影:我和我的祖国';
        var len = 0;
        for (var i = 0; i < str.length; i++) {
            if (str.charCodeAt(i) > 127 || str.charCodeAt(i) == 94) {
                len += 2;
            } else {
                len++;
            }
        }
        console.log(len);
    </script>
    

    输出结果: 18
    示例2:
    一个汉字2个字符,一个中文符号两个字符。

    <script>
        var str = '你好,世界!';
        var len = 0;
        for (var i = 0; i < str.length; i++) {
            var c = str.charCodeAt(i);
            //单字节加1   
            if ((c >= 0x0001 && c <= 0x007e) || (0xff60 <= c && c <= 0xff9f)) {
                len++;
            } else {
                len += 2;
            }
        }   
        console.log(len);
    </script>
    

    输出结果:12
    示例3:
    把双字节的字符替换成两个单字节的字符,并获取它的字符数

    <script>
        var str = '飞鸟慕鱼博客';
        var len = str.replace(/[^\x00-\xff]/g, "00").length; 
        console.log(len);
    </script>
    

    运行结果:12
    示例4:

    <script>
        var str = '中华人民共和国';
        var len = 0;
        for (var i = 0; i < str.length; i++) {
            var c = str.charAt(i);
            if (escape(c).length > 4) {
                len += 2;
            } else if (c != "\r") { 
                len++; 
            }
        }   
        console.log(len);
    </script>
    

    运行结果:14
    示例5:
    可以使用正则表达式,来判断字符是否为双字节

    <script>
        var str = '这里使用的正规表达式';
        var len = 0;
        for (var i = 0; i < str.length; i++) {
            var a = str.charAt(i);
            //使用的正则表达式
            if (a.match(/[^\x00-\xff]/ig) != null) {
                len += 2;
            } else {
                len += 1;
            }
        }   
        console.log(len);
    </script>
    //20
    

    本文链接:
    https://www.feiniaomy.com/post/454.html

    展开全文
  • shell判断字符串长度是否大于0

    千次阅读 2019-06-15 11:26:30
    shell判断字符串长度是否大于0: 这个程序是一个简单的ssh下载程序: if [ -n “$1” ] //判断字符串$1长度是否大于0, then scp wyz@192.168.2.105:/home/wyz/sshdir/$1 . else echo “Usage: $0 filename” fi -n...

    shell判断字符串长度是否大于0:
    这个程序是一个简单的ssh下载程序:
    if [ -n “$1” ] //判断字符串$1长度是否大于0,
    then scp wyz@192.168.2.105:/home/wyz/sshdir/$1 .
    else
    echo “Usage: $0 filename”
    fi

    -n判断字符串长度是否大于0,是的话返回真,注意变量要加"",例如 “$1”

    展开全文
  • Mybatis 的if判断里面的 test使用length()判断字符串长度 在Mybatis里面需要根据字符串的长度判断取不同的字段或者获取字段的长度。 <choose> <when test="categoryIds != null and categoryIds != '' ...
  • freemarker 判断字符串长度大于几

    万次阅读 2014-05-22 14:33:06
    freemarker 判断字符串长度大于多少或者int变量大于多少,比较  长度大于2 大于 gt 小于 lt 大于等于 gte 小于等于 lte 使用方法很简单 ..
  • js判断字符串长度

    千次阅读 2018-05-24 19:26:58
    function getByteLen(str) { var len = 0; for (var i = 0; i &amp;lt; str.length; i++) { var a = str.charAt(i); if (a.match(/[^\x00-\xff]/ig) != null) { len += 2; ...
  • 使用指针判断字符串长度

    千次阅读 2019-06-11 11:02:32
    要求使用指针的方法遍历该字符串,并统计该字符串长度。不允许使用strlen()函数。 输入 输入一个字符串,不多于999个字符,以回车结束。 输出 输出字符串长度。 输入示例 apple 输出示例 5 数据范围 输入为字符...
  • 简单判断字符串长度——c++/c

    千次阅读 2018-07-15 14:26:18
    通过简单的for循环实现字符串长度判断.
  • c语言 判断字符串长度 实现

    千次阅读 2019-05-18 11:50:00
    首先明白答案的本质(该函数)是一个计数器该计数器用for循环来实现实现对一串字符串的计数字符串以空格开头 不计算空格 计算空格后的数字直到遇到\0结束。num计算器字符串不以空格结束 计算空格后的数字直到遇到\0...
  • js根据字节判断字符串长度

    千次阅读 2019-08-01 11:39:38
    一个汉字是两个字节, 一个字母是一个字节 处理代码 /* 参数说明: str: 需要处理的字符串 L: 需要限制的长度 ... strlen = str.length, // 字符串长度 chrlen = str.replace(/[^\x00-\xff]/g, '...
  • SHELL判断字符串长度

    千次阅读 2019-02-01 15:49:57
    ID=12345 if [ ${#ID} -eq 5 ];then  echo "5" fi
  • 判断字符串长度函数

    千次阅读 2017-02-06 17:31:35
    function lenstr(str){  var len = 0;  for (var i=0; i  var c = str.charCodeAt(i);   //单字节加1   if ((c >= 0x0001 && c  len++;   }   else {   len+=2;   
  • 我们知道在php中要判断字符串长度我们只要使用strlen()与mb_strlen()函数既可以了,但是并不是我们想得这么简单,特别是在对中英文混合时上面函数有点力不从心哦,下面我来给各位朋友介绍。 strlen() ...
  • 判断字符串长度是否为0

    千次阅读 2019-09-14 22:42:58
    #!/bin/bash # testing string length #-n 判断长度是否非零 #-z 判断长度是否为零 val1=testing val2='' if [ -n "$val1" ] then echo "The string $val1 is not empty"...
  • 1.字符串长度 PHP获取中英文混合字符串长度的实现代码如下,1中文=1位,2英文=1位,可自行修改 /** * PHP获取字符串中英文混合长度 * @param $str string 字符串 * @param $charset string 编码 * @return 返回...
  • Freemarker中判断字符串长度

    千次阅读 2018-08-13 10:36:00
    <#if content?length gt 100> ${content[0..100]}... <#else> ${content} </#if> ...
  • 关于IOS判断字符串长度的方法

    千次阅读 2015-09-23 15:25:56
    NSString *text=@"helloworld你好吗";//16 NSUInteger length= text.length; NSUInteger length2=[text lengthOfBytesUsingEncoding:NSUTF8StringEncoding]; NSLog(@"length=%lu,length2=%lu,length3=%lu",
  • {$ko.content|substr=0,226} 。。。  
  • //计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: String.prototype.gblen = function() { var len = 0; for (var i=0; i; i++) { if (this.charCodeAt(i)>127 || this.charCodeAt(i)==94) {
  • private int maxLength=2000;//字节长度不能超过2000 private String validateStr(String str){ if(StringUtils.isNotBlank(str)){ StringBuffer sb=new StringBuffer(str); if(sb.length()&gt;...
  • 今天笔试题里有一题设计题,题目是“设计一个方法判断字符串长度,一个汉字长度为1” 不明白要考什么,java里的String类不就有length()方法吗,这里的长度就包含汉字的长度啊,一个length()方法就可以得到了,不明白...
  • String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()
  • 判断字符串长度在2-30个字符 为一个标准,因为在实际中(现在的公司)控制网页输入字符串字段就是规定2-30个字符..._(:з」∠)_ method1:用strlen或者mb_strlen的php内置函数 // method1 $str_len = ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 547,106
精华内容 218,842
关键字:

如何判断字符串的长度