有用的String的扩展
- 将字符串数组用一个符号连接起来
1234567891011121314151617181920212223242526272829
publicstaticclassStringExtendsions{/// <summary>/// 将字符串数组用一个符号连接起来/// </summary>/// <param name="items">数组</param>/// <param name="joinFlag">符合,比如中文的逗号“,”</param>/// <returns></returns>publicstaticstringToJoinString(thisstring[] items,stringjoinFlag){if(items ==null|| items.Length == 0){returnstring.Empty;}System.Text.StringBuilder result =newSystem.Text.StringBuilder();inti = 1;intitemLength = items.Length;foreach(stringiteminitems){result.Append(item);if(!string.IsNullOrEmpty(joinFlag) && i < itemLength){result.Append(joinFlag);}i++;}returnresult.ToString();}} - 移除HTML代码
123456789101112131415161718192021222324252627282930313233343536
publicstaticclassStringExtensions{/// <summary>/// 移除HTML代码/// </summary>/// <param name="Htmlstring">要移除的字符串</param>/// <returns></returns>publicstaticstringRemoveHTML(thisstringHtmlstring){//删除脚本Htmlstring = Regex.Replace(Htmlstring,@"([\r\n])[\s]+","", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring,@"<script[^>]*?>.*?</script>","", RegexOptions.IgnoreCase);//删除HTMLHtmlstring = Regex.Replace(Htmlstring,@"<(.[^>]*)>","", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring,@"([\r\n])[\s]+","", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring,@"-->","", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring,@"<!--.*","", RegexOptions.IgnoreCase);//Htmlstring = Regex.Replace(Htmlstring,@"<A>.*</A>","");//Htmlstring = Regex.Replace(Htmlstring,@"<[a-zA-Z]*=\.[a-zA-Z]*\?[a-zA-Z]+=\d&\w=%[a-zA-Z]*|[A-Z0-9]","");Htmlstring = Regex.Replace(Htmlstring,@"&(quot|#34);","\"", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring,@"&(amp|#38);","&", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring,@"&(lt|#60);","<", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring,@"&(gt|#62);",">", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring,@"&(nbsp|#160);"," ", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring,@"&(iexcl|#161);","\xa1", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring,@"&(cent|#162);","\xa2", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring,@"&(pound|#163);","\xa3", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring,@"&(copy|#169);","\xa9", RegexOptions.IgnoreCase);Htmlstring = Regex.Replace(Htmlstring,@"&#(\d+);","", RegexOptions.IgnoreCase);Htmlstring.Replace("<","");Htmlstring.Replace(">","");Htmlstring.Replace("\r\n","");//Htmlstring=HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();returnHtmlstring;}} - 截取并省略字符串
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
/// <summary>/// 截取并省略字符串/// </summary>/// <param name="str"></param>/// <param name="length">需要截取的字符长度</param>/// <returns></returns>publicstaticstringSubstringEllipsis(thisstringstr,intlength){if(str ==null){returnnull;}stringresult = GetSubString(str.ToString(), length);if(str.ToString().Length > result.Length){result +="...";}returnresult;}/// <summary>/// 获取指定字符串从 0 开始指定长度的字符。单个字符若是双字节长度算 1 若为单字节长度算 0.5。/// </summary>/// <param name="input">需要获取的字符串</param>/// <param name="count">需要获取的长度</param>/// <returns></returns>privatestaticstringGetSubString(stringinput,intcount){intoutputCount = 0;boolappendCount =false;// 是否递增长度stringoutput ="";foreach(Char cininput.ToCharArray()){if(outputCount >= count){break;}if(Regex.IsMatch(c.ToString(),@"[^\x00-\xff]")){outputCount++;// 双字节算长度 1}else{// 单字节算长度 0.5if(!appendCount){appendCount =true;}else{appendCount =false;outputCount++;}}output += c.ToString();}returnoutput;}

浙公网安备 33010602011771号