截取指定长度文字,超出部分以特定字符代替
截取指定长度文字,超出部分以特定字符代替
白志华 发表于2年前
截取指定长度文字,超出部分以特定字符代替
  • 发表于 2年前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

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

 

下面是算法源码:

#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>

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

共有 人打赏支持
粉丝 29
博文 260
码字总数 57524
×
白志华
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: