有用的String的扩展
2010-11-27 12:50 音乐让我说 阅读(394) 评论(0) 编辑 收藏 举报- 将字符串数组用一个符号连接起来
public static class StringExtendsions { /// <summary> /// 将字符串数组用一个符号连接起来 /// </summary> /// <param name="items">数组</param> /// <param name="joinFlag">符合,比如中文的逗号“,”</param> /// <returns></returns> public static string ToJoinString(this string[] items, string joinFlag) { if (items == null || items.Length == 0) { return string.Empty; } System.Text.StringBuilder result = new System.Text.StringBuilder(); int i = 1; int itemLength = items.Length; foreach (string item in items) { result.Append(item); if (!string.IsNullOrEmpty(joinFlag) && i < itemLength) { result.Append(joinFlag); } i++; } return result.ToString(); } }
- 移除HTML代码,示例1:
public static class HtmlRemoval { /// <summary> /// 移除 HTML 标记, /// 比如:HtmlRemoval.StripTagsCharArray("你好,我是<span>大侠</span>,很高兴认识大家!") /// 将得到 “你好,我是大侠,很高兴认识大家!” /// </summary> /// <param name="source"></param> /// <returns></returns> public static string StripTagsCharArray(string source) { char[] array = new char[source.Length]; int arrayIndex = 0; bool inside = false; for (int i = 0; i < source.Length; i++) { char let = source[i]; if (let == '<') inside = true; else if (let == '>') inside = false; else if (!inside) { array[arrayIndex] = let; arrayIndex++; } } return new string(array, 0, arrayIndex); } }
- 移除HTML代码,示例2:
public static class StringExtensions { /// <summary> /// 移除HTML代码 /// </summary> /// <param name="Htmlstring">要移除的字符串</param> /// <returns></returns> public static string RemoveHTML(this string Htmlstring) { //删除脚本 Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase); //删除HTML Htmlstring = 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(); return Htmlstring; } }
- 截取并省略字符串
/// <summary> /// 截取并省略字符串 /// </summary> /// <param name="str"></param> /// <param name="length">需要截取的字符长度</param> /// <returns></returns> public static string SubstringEllipsis(this string str, int length) { if (str == null) { return null; } string result = GetSubString(str.ToString(), length); if (str.ToString().Length > result.Length) { result += "..."; } return result; } /// <summary> /// 获取指定字符串从 0 开始指定长度的字符。单个字符若是双字节长度算 1 若为单字节长度算 0.5。 /// </summary> /// <param name="input">需要获取的字符串</param> /// <param name="count">需要获取的长度</param> /// <returns></returns> private static string GetSubString(string input, int count) { int outputCount = 0; bool appendCount = false; // 是否递增长度 string output = ""; foreach (Char c in input.ToCharArray()) { if (outputCount >= count) { break; } if (Regex.IsMatch(c.ToString(), @"[^\x00-\xff]")) { outputCount++; // 双字节算长度 1 } else { // 单字节算长度 0.5 if (!appendCount) { appendCount = true; } else { appendCount = false; outputCount++; } } output += c.ToString(); } return output; }
- 谢谢浏览
- ddddd
public static string CalculateMD5Hash(this string value) { string hash = value; if (value != null) { value = value.ToLower(); MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); byte[] data = Encoding.ASCII.GetBytes(value); data = md5.ComputeHash(data); hash = ""; for (int i = 0; i < data.Length; i++) { hash = hash + data[i].ToString("x2"); } } return hash; }
作者:音乐让我说(音乐让我说 - 博客园)
出处:http://music.cnblogs.com/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。