C# 截取中英文混合字符串分行显示宽度相同
/// <summary>
/// 截取方法名显示宽度
/// </summary>
/// <param name="methodName">方法名</param>
/// <param name="byteLen">需要截取的字节长度(可以显示的最长字节长度,包括省略号...)</param>
/// <returns></returns>
private string SubMethodName(string methodName,int byteLen)
{
int methodLen = Encoding.Default.GetByteCount(methodName);
if(byteLen<1)
{
return methodName;
}
if (methodLen <= byteLen)
{
return methodName;
}
else
{
int bytecounter = 0;
string CurrSubStr = string.Empty;
for (int i = 0; i < methodName.Length; i++)
{
bytecounter = bytecounter + Encoding.Default.GetByteCount(methodName[i].ToString());
if (bytecounter > byteLen-4)
{
break;
}
CurrSubStr += methodName[i];
}
return CurrSubStr + "...";
}
}
按 Ctrl+C 复制代码/// <summary> /// 截取方法名显示宽度 /// </summary> /// <param name="methodName">方法名</param> /// <param name="byteLen">需要截取的字节长度(可以显示的最长字节长度,包括省略号...)</param> /// <returns></returns> private string SubMethodName(string methodName,int byteLen) { int methodLen = Encoding.Default.GetByteCount(methodName); if(byteLen<1) { return methodName; } if (methodLen <= byteLen) { return methodName; } else { int bytecounter = 0; string CurrSubStr = string.Empty; for (int i = 0; i < methodName.Length; i++) { bytecounter = bytecounter + Encoding.Default.GetByteCount(methodName[i].ToString()); if (bytecounter > byteLen-4) { break; } CurrSubStr += methodName[i]; } return CurrSubStr + "..."; } }按 Ctrl+C 复制代码
/// <summary> /// 截取方法名显示宽度 /// </summary> /// <param name="methodName">方法名</param> /// <param name="byteLen">需要截取的字节长度(可以显示的最长字节长度,以全汉字计算,此值只能为偶数,包括省略号...)</param> /// <returns></returns> private string SubMethodName(string methodName,int byteLen) { int methodLen = Encoding.Default.GetByteCount(methodName); if(byteLen<1) { return methodName; } if (methodLen <= byteLen) { return methodName; } else { int bytecounter = 0; string CurrSubStr = string.Empty; for (int i = 0; i < methodName.Length; i++) { bytecounter = bytecounter + Encoding.Default.GetByteCount(methodName[i].ToString()); if (bytecounter > byteLen-4) { break; } CurrSubStr += methodName[i]; } return CurrSubStr + "..."; } }
C# 截取中英文混合字符串分行显示宽度相同的更多相关文章
- C#截取中英文混合字符串分行显示
private int GetStrByteLength(string str) { return System.Text.Encoding.Default.GetByteCount(str); } ...
- CSS截取中英文混合字符串长度
<!doctype html> <html> <head> <meta http-equiv="content-type" content ...
- 用JS来实现于截取中英文混合字符串方法(转载)
网站制作过程中,提示层文字超出,需要JS做字符串截取,但是呢,我们常常会烦恼文字中英文混合如何判断,因为我们知道在JS中 string.length这个值是不考虑中英文的,但是计算机对中英文的识别是 ...
- Java 截取中英文混合字符串
题目: 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串. 但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入&q ...
- c#的中英文混合字符串截取
public class StringHelper { public static string GetSubString(string str, int len) ...
- c#的中英文混合字符串截取指定长度,startidx从0开始
//c#的中英文混合字符串截取指定长度,startidx从0开始 by gisoracle@126.com public string getStrLenB(string str, int start ...
- PHP获取中英文混合字符串长度及截取
1.字符串长度 PHP获取中英文混合字符串长度的实现代码如下,1中文=1位,2英文=1位,可自行修改 /** * PHP获取字符串中英文混合长度 * @param $str string 字符串 * ...
- 用C#截取指定长度的中英文混合字符串
很早以前写过一篇文章(用C#截取指定长度的中英文混合字符串),但是对性能没有测试,有人说我写的这个方法性能有问题,后来想,可能真会有BT之需求要求传入一个几万K甚至几M体积的字符串进来,那将会影响正则 ...
- c#的中英文混合字符串截取 public static string SubString(string inputString, int byteLength)
/// <summary> /// c#的中英文混合字符串截取(区分中英文) /// </summary> /// <param ...
随机推荐
- 为OLED屏添加GUI支持3:字库
为OLED屏添加GUI支持3:字库 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN10 开发环境:MDK5.13 MCU:STM3 ...
- [BZOJ4026]dC Loves Number Theory 欧拉函数+线段树
链接 题意:给定长度为 \(n\) 的序列 A,每次求区间 \([l,r]\) 的乘积的欧拉函数 题解 考虑离线怎么搞,将询问按右端点排序,然后按顺序扫这个序列 对于每个 \(A_i\) ,枚举它的质 ...
- thinkphp里面的or查询
thinkphp里面的or查询 whereOr 方法 使用whereOr 方法进行OR 查询: Db::table('think_user') ->where('name','like','%t ...
- UVA - 12263 Rankings 模拟(拓扑排序)
题意:1~n这n个数,给你一个初始的顺序,再告诉你那两个数的大小关系发生了变化,求变化后的 顺序,不存在则输出IMPOSSIBLE 思路:这题很遗憾没在比赛的时候过掉,结束后加了一行就AC了.题目真的 ...
- CentOS6.x操作系统自带的 DM Multipath(DMMP)多路径软件配置说明。
CentOS系统下的多路径软件是操作系统自带的 DM Multipath(DMMP)工具.------------------------------------------------------- ...
- nginx编译安装选项说明
configure 脚本确定系统所具有一些特性,特别是 nginx 用来处理连接的方法.然后,它创建 Makefile 文件. configure 支持下面的选项: –prefix= <path ...
- 紫书 习题 10-44 UVa 11246 ( 容斥原理)
把k的倍数的删去(k, 2k, 3k--),但是k^2不应该删去,因为k已经删去,所以不存在某个数乘上k之后为k^2 所以k^2可以留下,然后因为有k^2,所以k^3就是k^2的k倍,所以k^3要删去 ...
- CSUOJ 1531 Jewelry Exhibition
Problem G Jewelry Exhibition To guard the art jewelry exhibition at night, the security agency has d ...
- 洛谷—— P1328 生活大爆炸版石头剪刀布
https://www.luogu.org/problem/show?pid=1328 题目描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一样,则不分胜负.在< ...
- 使用virtualenv搭建python虚拟开发环境
在使用python做开发时,如果多人需要在同一台机器上工作,或者机器环境经常变化时, 添加或删除一些python包很可能会影响到你自己的开发环境. 因此,通过virtualenv工具可以创建一个完全属 ...