zoukankan      html  css  js  c++  java
  • 截取字符串

     做的新闻发布系统中需要用到这个:

    1. 在源代码中截取:

    代码如下:

    <asp:HyperLink ID="hltitle" runat="server" Width="340px" Text=’<%# Eval("NewsName").ToString().Length>25?Eval("NewsName").ToString().Substring(0,25)+"...":Eval("NewsName") %>’  NavigateUrl=’<%#"NewsShow2.aspx?NewsID="+DataBinder.Eval(Container.DataItem,"NewsID")%>’>HyperLink</asp:HyperLink>  


    注意那个三元运算符 “?:”意思就是如果长度大于25,就截取前25个,如果小于或等于25就全部取出。
    如果不加这个运算符的话,假如字符长度没有所想要截取的长度那么长,就会报错。
    在Gridview中要注意,要插入的项是TemplateField才能做截取,不能是单纯的HyperLink。

    <asp:TemplateField HeaderText="新闻标题">   
        <ItemTemplate>   
           
            <%# (Eval("NewsName").ToString().Length>8?Eval("NewsName").ToString().Substring(0,8):Eval("NewsName").ToString()) + "…" %>                   
           
        </ItemTemplate>   
    </asp:TemplateField>  


    还有一个必须要注意的,在网上,我注意到很多人都写成了ToString().SubString(0,8)或者Tostring().Substring()之类的代码,要注意C#的大小写敏感,如果函数写错了,就会在运行时报错。    

    2. 在 cs 文件中截取:

    /// <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 tmpStr = oldStr.Substring(0, maxLength);
                
    if (string.IsNullOrEmpty(endWith))
                {
                    
    return tmpStr;
                }
                
    else
                {
                    
    return tmpStr + endWith;
                }
            }
            
    return oldStr;
        }

  • 相关阅读:
    C#中的WebBrowser控件的使用
    xshell5 可用注册码
    一次多数据源 配置问题记录
    org.springframework.data.mongodb.core.MongoTemplate]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.core.convert.support.ConversionServiceFactory.cr
    关于 <mvc:argument-resolvers> 的一次使用记录
    补码、反码、原码 ~ ^ 运算
    mysql中int、bigint、smallint 和 tinyint的区别与长度的含义【转】
    tomcat优化记录
    判读40亿数字中是否有某个数字
    LinkedList源码疑问记录
  • 原文地址:https://www.cnblogs.com/juexin/p/2861490.html
Copyright © 2011-2022 走看看