您的位置:首页 > 编程语言 > ASP

关于asp.net的字符串截取

2011-01-25 16:11 351 查看
字符串截取是我们通常都会用到的,在前台显示的时候可能因为格式关系,需要控制字符串的显示长度。本身字符串的截取方法substring()在实际的使用中不是很方便。因为对于中文字符和西文字符来说,所占取的字节数是不同的,在substring()这里却是一样的对待,所以在实际运用中就会无法克服不同字符带来的长度不等的问题了。

在网上找了不少方法,多少都有问题,所以自己写了这个方法,不敢说完全没问题,至少到目前本人使用没有问题。

/// <summary>
/// 截取字符串长度的方法,可判断中英文字符
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public string stringformat(string str)
{
string temp = string.Empty;
if (System.Text.Encoding.Default.GetByteCount(str) <= 14)//如果长度比需要的长度n小,返回原字符串,14表示7个中文字符
{
return str;
}
else //如果长度超过则截取,至于截取的长度可以自己设置,我这里写死了
{
int number = 0;
string st = string.Empty;
while (number < 14)
{
st = str.Substring(0, 1);
temp += st;
str = str.Substring(1, str.Length - 1);
if (System.Text.Encoding.Default.GetByteCount(st) > 1) //判断字符所占字节数
{
number += 2;
}
else
{
number++;
}
}
return (temp + "...");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: