截取字符串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 @   龙城1号  阅读(4787)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示