今天在写一个.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怎么防止多次点击提交按钮重复提交