当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 字符串处理:中英文混排固定长度截取问题

ASP.NET
.Net将如何影响我们?(一)
.Net将如何影响我们?(二)
开发者面临的.Net挑战(一)
开发者面临的.Net挑战(三)
.Net的精髓-XML和SOAP(一)
.Net的精髓-XML和SOAP(二)
.Net的精髓-XML和SOAP(三)
.net的reflection (1)
.net的reflection (2)
Asp.net编写的PING工具
.NET语言的选择
且看微软的.Net和Sun公司的J2EE如何对垒
从 Visual Basic 6.0 到 Visual Basic.NET 的转换(1)
从 Visual Basic 6.0 到 Visual Basic.NET 的转换(2)
从 Visual Basic 6.0 到 Visual Basic.NET 的转换(3)
从 Visual Basic 6.0 到 Visual Basic.NET 的转换(4)
从 Visual Basic 6.0 到 Visual Basic.NET 的转换(5)
什么是配件(assembly)?
什么是映射(reflection)?
从一个舆论调查的制作谈面向对象的编程思路(一)

ASP.NET 中的 字符串处理:中英文混排固定长度截取问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 99 ::
收藏到网摘: n/a

/// <summary>
  /// 从包含中英文的字符串中截取固定长度的一段,strInput为传入字符串,intLen为截取长度(一个汉字占两个位)。
  /// </summary>
  public string cutString(string strInput,int intLen)
  {
   strInput=strInput.Trim();
   byte[] myByte = System.Text.Encoding.Default.GetBytes(strInput);   
   if(myByte.Length>intLen)
   {
    //截取操作
    string resultStr="";
    for(int i=0;i<strInput.Length;i++){
     byte[] tempByte=System.Text.Encoding.Default.GetBytes(resultStr);
     if(tempByte.Length<intLen-4)
     {
      resultStr+=strInput.Substring(i,1);
     }
     else{
      break;
     }     
    }
    return resultStr+" ...";
   }
   else{
    return strInput;
   }
  }