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

简介: 这是在做新闻发布系统时收录的一个简单算法。感觉挺好用的。效果如下(新闻标题):   下面是算法源码: #region 将指定字符串按指定长度进行剪切 /// /// 将指定字符串按指定长度进行剪切 ...

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

 

下面是算法源码:

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

 

目录
相关文章
|
2月前
求一个字符串的长度
求一个字符串的长度。
34 11
|
4月前
|
C++
C++中从一个字符串中截取另一长度的子字符串
C++中从一个字符串中截取另一长度的子字符串
28 0
文本超出显示省略号--截取字段
文本超出显示省略号--截取字段
|
10月前
|
Java
截取字符串中的部分信息
截取字符串中的部分信息
50 0
|
人工智能 BI
762 字符串匹配----给定两个长度相同的字符串 a 和字符串 b。如果在某个位置 i 上,满足字符串 a 上的字符 a[i] 和字符串 b 上的字符 b[i] 相同,那么这个位置上的字符就是匹配
给定两个长度相同的字符串 aa 和字符串 bb。 如果在某个位置 ii 上,满足字符串 aa 上的字符 a[i]a[i] 和字符串 bb 上的字符 b[i]b[i] 相同,那么这个位置上的字符就是匹配的。 如果两个字符串的匹配位置的数量与字符串总长度的比值大于或等于 kk,则称两个字符串是匹配的。
207 0
有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数
有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数
255 0
求字符串中最长的连续出现的字符
求字符串中最长的连续出现的字符
291 0
|
前端开发
解决字母或数字溢出盒子(文字超出时不自动换行)
解决字母或数字溢出盒子(文字超出时不自动换行)
304 0
解决字母或数字溢出盒子(文字超出时不自动换行)