要新闻系统一样,有些标题太长了,想截取前20个字符,有没有现成的函数啊?要区分中英文的那种...还有就是遇到中文的时候,不能截取半个字符.呵呵:)怎么写?

解决方案 »

  1.   

    把asc码大于128的当成中文截取不就行了,给各函数给你:
    public string GetStringNum(string Content,int Num)
    { if(Content==null || Content==string.Empty || Content.Length<Num)
    return Content; char[] cArray=Content.ToCharArray();
    int iAlreadyNum=0;
    int iOkLenNum=0;
    foreach (char cH in cArray)
    {
    if(iAlreadyNum < Num * 2)
    {
    if(cH>128)
    {
    iAlreadyNum+=2;
    }
    else
    iAlreadyNum++;
    iOkLenNum++;
    }
    else
    break;
    }
    Content=Content.Substring(0,iOkLenNum);
    return Content;
    }
      

  2.   

    http://blog.csdn.net/rickjelly2004/archive/2004/11/11/getLengthsubstringB.aspx