重写的:c#字符串截取文字省略[winform学习示例]
2012-12-23 02:17
381 查看
private string 标题文字省略(string 字符串, int 数值) { string 文字省略 = "", 等效字符值3 = "0123456789abcdefghijklmnopqrstuvwxyz", 等效字符值4 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int 字数 = 0; 等效字符值3 += @"+=.-*/\',|~!@#$%^&`:;?(){}[]<>" + "\"";/*特殊符号*/ if (字符串.Length > 数值) { foreach (char 元素 in 字符串) { if (等效字符值3.Contains(元素.ToString())) 字数 += 3; else if (等效字符值4.Contains(元素.ToString())) 字数 += 4; else 字数 += 6; if (字数 <= 数值 * 6) 文字省略 += 元素.ToString(); else break; } if (字数 % 2 == 1) 文字省略 += " ...";/*补空格使字符串整齐*/ else 文字省略 += "..."; } else 文字省略 = 字符串; return 文字省略; }下面调用:
标题文字省略("55极55乐5世5界55555", 5);
在需要的情况时,可添加如下限制.
字符串 = 字符串.Trim() .Replace(@"""", "").Replace(@""", "") .Replace(" ", "").Replace(" ", "") .Replace("\r\n", "").Replace("\r", "").Replace("\n", "");
思路及效果和以前的:c#字符串截取文字省略[WEB学习示例]一样,只是改变写法,更清晰明白,且方法化了。当然,对于字符总存在数字和英文混合的截取,如果存在奇数的话会觉得稍不整齐,对于全角文字没做测试,不过在使用时可以在方法中加入做调整。
运行效果图如上
一直没机会用上,终于用到了,整齐效果令我满意.否则单元格不整齐,如下图
string aa1 = "abcdefgh字符串获取连续相等字符串", aa2 = "ad_abc_asdf获取连续相等字符串", aa3 = ""; for (int a = 0; a < aa1.Length - 1; a++) if (aa2.Contains(aa1.Substring(a, 2))) aa3 += (!aa3.Contains(aa1.Substring(a, 2).Substring(0, 1))) ? aa1.Substring(a, 2) : aa1.Substring(a, 2).Substring(1, 1);
相关文章推荐
- c#字符串截取文字省略[WEB学习示例]
- 字符串处理截取指定字数[WEB学习示例]
- C# winform中怎么实现左截取字符串和右截取字符串
- C# winform中怎么实现左截取字符串和右截取字符串
- C#字符串截取学习总结
- c#方法重写和隐藏的学习示例
- C#字符串学习笔记二
- C#截取字符串方法
- 在C#中截取指定长度的中文字符串
- C# 之 字符串截取--Substring
- C#截取中英文混合指定长度字符串实例
- C#实现根据字节数截取字符串并加上省略号的方法
- 文本溢出、字符串过长截取多余文字并用省略号显示
- 【OpenCV 学习】自带示例:随机数发生器&绘制文字 代码注释解析
- C#几个经常用到的字符串截取
- 在C#中截取指定长度的中文字符串
- C#几个经常用到的字符串的截取
- c#字符串编码编码(encoding)使用方法示例
- sql带分隔符的截取字符串示例
- C# winform 转换word文件文字