两个截取字符串的实用方法(超过一定长度自动换行)
1/** <summary>
2 /// 截取字符串,不限制字符串长度 3 /// </summary> 4 /// <param name="str">待截取的字符串</param> 5 /// <param name="len">每行的长度,多于这个长度自动换行</param> 6 /// <returns></returns> 7 public string CutStr(string str,int len) 8 { string s=""; 9 10 for(int i=0;i<str.Length ;i++)11 { 12 int r= i% len;13 int last =(str.Length/len)*len;14 if (i!=0 && i<=last)15 { 16 17 if( r==0)18 { 19 s+=str.Substring(i-len,len)+"<br>";20 }21 22 }23 else if (i>last)24 { 25 s+=str.Substring(i-1) ;26 break;27 }28 29 }30 31 return s;32 33 }3435在前台页面上有时候只需要显示一定长度的字符就可以了,例如在前台页面显示标题,而标题有20个字符,
显示在<div></div>会很长影响页面的整体美观,这时就用下面方法,只截取前12个字符剩下的用“...”代替。
前台页面调用如下:
<div><%# StringTruncat(Eval("Title").ToString(), 12, "...")%></div>
方法如下:
/// <summary>
/// 将指定字符串按指定长度进行剪切, /// </summary> /// <param name= "oldStr "> 需要截断的字符串 </param> /// <param name= "maxLength "> 字符串的最大长度 </param> /// <param name= "endWith "> 超过长度的后缀 </param> /// <returns> 如果超过长度,返回截断后的新字符串加上后缀,否则,返回原字符串 </returns> public static string StringTruncat(string oldStr, int maxLength, string endWith) { if (string.IsNullOrEmpty(oldStr)) // throw new NullReferenceException( "原字符串不能为空 "); return oldStr + endWith; if (maxLength < 1) throw new Exception("返回的字符串长度必须大于[0] "); if (oldStr.Length > maxLength) { string strTmp = oldStr.Substring(0, maxLength); if (string.IsNullOrEmpty(endWith)) return strTmp; else return strTmp + endWith; } return oldStr; }