截取字符串substring()

因为中文和英文所占位置不同,一个能显示5个中文的位置应该能显示10个英文,
这个字符串操作函数很好用,是CSDN里写的。

  ///   内容摘要:按字节截断字符串。  
                  ///   </summary>  
                  public   static   string   GetSubString(string   mText,int   startIndex,int   byteCount)  
                  {  
                          if(byteCount   <   1   )   return   string.Empty;  
                         
                          if(     System.Text.Encoding.Default.GetByteCount(mText)<=   byteCount)  
                          {   
                                  return   mText;  
                          }  
                          else  
                          {  
                                  if(startIndex   ==   0)  
                                  {  
                                          byte[]   txtBytes   =   System.Text.Encoding.Default.GetBytes(mText);  
                                          byte[]   newBytes   =   new   byte[byteCount];  
                                   
                                          for(int   i=0;i<byteCount;i++)   
                                                  newBytes[i]   =   txtBytes[i];  
   
                                          return   System.Text.Encoding.Default.GetString(newBytes);  
                                  }  
                                  else  
                                  {  
                                          string   tmp   =   GetSubString(mText,0,startIndex-1);  
                                          mText   =   mText.Substring(tmp.Length);   
                                          return   GetSubString(mText,0,byteCount);  
                                  }  
                          }  
                  }  
                  public   static   string   GetSubString(string   mText,int   startIndex)            
                  {  
                          return   GetSubString(mText,startIndex,System.Text.Encoding.Default.GetByteCount(mText)-startIndex+1);  
                  }



使用方法:
在数据绑定的地方输入这个,代替原来的<% Eval("text") %>
 <%# GetSubString(DataBinder.Eval(Container.DataItem,"text").ToString(),0,10)%>
posted @ 2007-11-18 15:05  龙城1号  阅读(4781)  评论(0编辑  收藏  举报