您的位置:首页 > 编程语言 > ASP

截取指定长度文字,超出部分以特定字符代替

2015-10-18 00:00 609 查看
这是在做新闻发布系统时收录的一个简单算法。感觉挺好用的。效果如下(新闻标题):



下面是算法源码:

#region 将指定字符串按指定长度进行剪切
///   <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)
{
//判断字符串是否为null或空
if (string.IsNullOrEmpty(oldStr))
{
//   throw   new   NullReferenceException( "原字符串不能为空 ");
return oldStr + endWith;
}

//判断限制长度是否>=1
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;
}
#endregion


下面是Sample:

<asp:TemplateField HeaderText="新闻标题">
<ItemTemplate>
<a href='newscontent.aspx?newsid=<%# Eval("id") %>' target="_blank" title="<%# Eval("title") %>"><%# StringTruncat (Eval("title").ToString(),18,"...") %></a>
</ItemTemplate>
</asp:TemplateField>


版权声明:本文为博主原创文章,未经博主允许不得转载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息