在C#中取得指定长度的字符串
2007-06-11 11:56
471 查看
我们知道,在C#(.Net)内部所使用Unicode来存储字符串,这样在处理字符串的时候偶尔会发生一些不爽的事情。比如,如果字符串中有中文字符,而我们想取得固定长度字符串就颇为麻烦,下面提供了一个解决方案。在这个方案中,我们实现了这么几个功能:
取得给出字符串靠左边的子串,子串的大小为为指定长度;
如果给出的字符串长度大于给出的长度,则在子串的末端加上“..”。
避免出现半个汉字的情况。
源码如下:
只是这个方法的效率可能效率不高,欢迎大家给出更好的解决方案。
取得给出字符串靠左边的子串,子串的大小为为指定长度;
如果给出的字符串长度大于给出的长度,则在子串的末端加上“..”。
避免出现半个汉字的情况。
源码如下:
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(); }
只是这个方法的效率可能效率不高,欢迎大家给出更好的解决方案。
相关文章推荐
- 在C#中取得指定长度的字符串
- 在C#中取得指定长度的字符串
- 在C#中取得指定长度的字符串
- 在C#中取得指定长度的字符串
- 在C#中截取指定长度的中文字符串(效率提高2500倍)
- C# 测量用指定的 Font 绘制的指定字符串。(指定字符串的像素长度)
- C#实现 获取指定字节长度 中英文混合字符串 的方法
- c#按照指定长度切分字符串
- 用C#截取指定长度的中英文混合字符串
- 在C#中截取指定长度的中文字符串.
- [导入]用C#截取指定长度的中英文混合字符串 改进版
- C#实现 获取指定字节长度 中英文混合字符串 的方法
- C# 按指定(字节)长度截取字符串
- 用C#截取指定长度的中英文混合字符串的最终算法
- [转]c#截取指定长度的字符串
- 用C#截取指定长度的中英文混合字符串
- C#截取指定长度中英文字符串方法
- C#截取指定长度中英文字符串方法
- C#截取指定长度中英文字符串方法
- 用C#截取指定长度的中英文混合字符串 改进版--转载