微博内容长度计算函数(C#)

微博内容长度的计算方法(不一定完全无误,仅提供一个思路):

public static int GetWeiboContentLength(string weiboContent)
       {
           var max = 140;
           var surl = 11;
           var urlCount = 0;

           RegexOptions ops = RegexOptions.Compiled;
           Regex regex = new Regex(@"http://[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)+([-A-Z0-9a-z_\$\.\+\!\*\(\)\/,:;@&=\?\~\#\%]*)", ops);
           var content = weiboContent;
           if (regex.IsMatch(weiboContent))
           {
               var matchs = regex.Matches(weiboContent);
               for (int i = 0; i < matchs.Count; i++)
               {
                   var count = matchs[i].Groups[0].Length;
                   urlCount += count <= max ? surl : (count - max + surl);
                   content = content.Replace(matchs[i].Value, "");
               }
           }
           var result = urlCount + content.Length;
           return result;
       }

本文来自合作伙伴“doNET跨平台”,了解相关信息可以关注“opendotnet”微信公众号

时间: 2024-09-20 05:51:46

微博内容长度计算函数(C#)的相关文章

JavaScript实现的GBK、UTF8字符串实际长度计算函数

  主要是为了匹配数据库的长度范围内,比如GBK的数据库某字段是varchar(10),那么就相当于5个汉字长度,一个汉字等于两个字母长度.如果是UTF8的数据库则是每个汉字长度为3. 知道了以上原理以后,我们就可以算出一个字符串的实际长度了,如果是GBK字符集遇到中文加2,如果是UTF8字符集遇到中文加3即可 GBK长度计算函数: 代码如下: // GBK字符集实际长度计算 function getStrLeng(str){ var realLength = 0; var len = str.

Javascript 字符串字节长度计算函数代码与效率分析(for VS 正则)_正则表达式

先看看一下两段代码吧,它们分别用for循环和正则表达式来检测字符串的字节长度: for循环检测字符串的字节长度方法一: 复制代码 代码如下: var lenFor = function(str){ var byteLen=0,len=str.length; if(str){ for(var i=0; i<len; i++){ if(str.charCodeAt(i)>255){ byteLen += 2; } else{ byteLen++; } } return byteLen; } els

php-这个计算字符串长度的函数的原理?

问题描述 这个计算字符串长度的函数的原理? function str_len($str){ $length = strlen(preg_replace('/[x00-x7F]/' '' $str)); if ($length) { return strlen($str) - $length + intval($length / 3) * 2; } else { return strlen($str); }} strlen(preg_replace('/[x00-x7F]/' '' $str));

c语言-C语言计算字符长度的函数 strlen的问题

问题描述 C语言计算字符长度的函数 strlen的问题 下面这段: int main(){ char s[]="hello world"; char *n; n=&s[0]; int t=strlen(n); printf("%d ",t); } 得到字符长度是11,但是如果把char s[]="hello world";改为char s[11]="hello world"; 最后的值就会变成17,多出来的6是怎么回事

PHP字符串长度计算 - strlen()函数使用介绍_php技巧

strlen()函数和mb_strlen()函数 在PHP中,函数strlen()返回字符串的长度.函数原型如下: 复制代码 代码如下: int strlen(string string_input); 参数string_input为要处理的字符串. strlen()函数返回字符串所占的字节长度,一个英文字母.数字.各种符号均占一个字节,它们的长度均为1.一个中午字符占两个字节,所以一个中午字符的长度是2.例如 复制代码 代码如下: <?php echo strlen("www.sunch

php中关于长度计算容易混淆的问题分析_php技巧

本文实例讲述了php中关于长度计算容易混淆的问题.分享给大家供大家参考,具体如下: 经常被php中数组和字符串的字符函数搞晕,下面总结一下: strlen($string)函数:计算字符串的长度: sizeof($string,$mode)函数:它是count()函数的别名,count()函数如下: int count ( mixed var [, int mode] ) 返回 var 中的单元数目,通常是一个 array,任何其它类型都只有一个单元. 对于对象,如果安装了 SPL,可以通过实现

C++不使用变量求字符串长度strlen函数的实现方法_C 语言

本文实例讲述了C++不使用变量求字符串长度strlen函数的实现方法.分享给大家供大家参考.具体实现方法如下: 1.strlen的源码实现: size_t strlen(const char *str) //strlen不做内存非法判断,如果是NULL,会core. { const char *eos=str; while(*eos++); return (eos-str-1); } 2.常见面试题会要求不使用额外变量,实现strlen函数: 实现一: int strlen(const char

php字符串长度计算strlen和mb_strlen用法

在php中常见的计算字符串长度的函数有:strlen和mb_strlen   比较strlen和mb_strlen   1.strlen PHP内置的字符串长度函数2.mb_strlen 不是PHP核心函数,使用前需要确保在php.ini中加载了php_mbstring.dll,即确保"extension=php_mbstring.dll"这一行存在并且没有被注释掉 当字符全是英文字符的时候,两者是一样的.关于中文的问题,PHP内置的字符串长度函数strlen无法正确处理中文字符串,它

js 判断字符串长度:计算字符串长度/判断空

计算字符串长度可用的三种方法:   echo "$str"awk '{print length($0)}'  expr length "$str"  echo "$str"wc -c  但是第三种得出的值会多1,可能是把结束符也计算在内了. 判断字符串为空的方法有三种:   if [ "$str" = "" ]  if [ x"$str" = x ]  if [ -z "$st