今天在写一个.NET程序,遇到这样的问题,标题过长的为了显示美观需要只显示前面一段文字,一般情况下只要用Str.Substring(0, 20)这样的方法就可以了,但是现在标题里有时会有英文字母,所以会出现有的是半角,有的是全角的现象,这样的时候我们就要写个类来判断了。
我写了个,希望对大家有用,代码如下:
public titleCount()
 {
  //
  // TODO: 在此处添加构造函数逻辑
  //
 }
public string leftTitle(object str, int leftNum)
    {
        double ln = 0;
        string inStr = Convert.ToString(str);
        string reStr = "";
        for (int i = 0; i < inStr.Length; i++)
        {
            if (Convert.ToInt16(System.Text.UnicodeEncoding.Default.GetByteCount(inStr.Substring(i, 1))) == 1)
            {
                ln += 0.5;
            }
            else
            {
                ln++;
            }
            reStr += inStr.Substring(i, 1);
            if (ln >= leftNum)
            {
                reStr += "...";
                break;
            }
        }
        return reStr;
    }
注意加红部分,object类型是用于数据绑定时用的,如果你不是数据绑定,那就要改成string类型。
- 本文标题: .NET文章标题判断全角半角截取
- 文章分类:【.NET/Web】
- 非特殊说明,本文版权归【胡同里的砖头】个人博客 所有,转载请注明出处.
- 上一篇:网站如何使用QQ号直接登陆网站
- 下一篇: ASP.NET怎么防止多次点击提交按钮重复提交