微博内容长度计算函数(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”微信公众号

上一篇:《经验之谈》想要做好SEO推广必知要事,峰任策划告诉您。


下一篇:轻松上云系列之四:阿里云数据迁移至本地