当前位置:首页>网络学院>程序开发>ASP.NET教程>文章内容

在C#中取得指定长度的字符串

[ 来源:www.it55.com | 作者: | 时间:2007-07-15 | 收藏 | 推荐 ] 【

我们知道,在C#(.Net)内部所使用Unicode来存储字符串,这样在处理字符串的时候偶尔会发生一些不爽的事情。比如,如果字符串中有中文字符,而我们想取得固定长度字符串就颇为麻烦,下面提供了一个解决方案。在这个方案中,我们实现了这么几个功能: it55.com

取得给出字符串靠左边的子串,子串的大小为为指定长度;
如果给出的字符串长度大于给出的长度,则在子串的末端加上“..”。
避免出现半个汉字的情况。
源码如下:
http://www.it55.com/

private string getLeftSubString(string content, int length)
{
Encoding encoding = Encoding.GetEncoding("gb2312");
StringBuilder sb = new StringBuilder();
int totalLength = 0;
foreach (char contentChar in content)
{
int size = encoding.GetByteCount(new char[] { contentChar });
if (totalLength + size > length -2)
{
sb.Append("..");
break;
}
sb.Append(contentChar);
totalLength += size;
}
return sb.ToString();
}
只是这个方法的效率可能效率不高,欢迎大家给出更好的解决方案。

免费资源www.it55.com

vd;k;l www.it55.com rdfg


来源:阿齐的blogs

vd;k;l www.it55.com rdfg

(编辑:IT资讯之家 www.it55.com

返回顶部
 

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]

图片文章