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 ...
随机推荐
- Android笔记---Intent实现Activity跳转
学了之前的Android控件以及布局,我们就能够做一些UI的设计了,这里我结合之前的知识.以一个小的登录项目来解说下Activity之间跳转. 先看下效果图: 1.登录界面: 2.点击登录按钮跳转到另 ...
- C++对象模型——效率有了,弹性呢(第七章)
7.4 效率有了,弹性呢 传统的C++对象模型提供有效率的运行期支持.这份效率,再加上与C之间的兼容性,造成了C++的广泛被接受度.然而,在某些领域方面,像是动态共享函数库(dynamicall ...
- linux中的硬连接和软连接
linux中的硬连接和软连接 linux中的硬连接和软连接 背景 连接 硬连接 软连接 example reference 背景 linux中的文件主要分3块, - 真正的数据 - 索引节点号(ino ...
- 深度拷贝java对象
有时,如,修改session中对象的时候,如果直接修改session中的对象,修改步骤比较多,一部分修改成功,另一部分不成功,这个时候程序报错,数据库会回滚,但是session已经修改一部分了. 这样 ...
- SQL Server数据全同步及价值分析[终结版]
SQL Server数据全同步[终结版] 版权全部.转载请注明出处.谢谢! 经过两天的同步编写和測试.出了第一个Release版本号: 1. 本函数仅支持单向同步.即从一个主数据库想多个从数据库同步 ...
- BZOJ1685: [Usaco2005 Oct]Allowance 津贴
[传送门:BZOJ1685] 简要题意: 贝西工作勤勤恳恳,她每月向约翰索要C 元钱作为工资.约翰手上有不少钱,他一共有N 种面 额的钞票.第i 种钞票的面额记作Vi,约翰有Ki 张.钞票的面额设定是 ...
- SQL Server 2005高可用性模式下创建数据库镜像
SQL Server 2005高可用性模式下创建数据库镜像 高可用性模式下创建数据库镜像 第一步: --创建镜像用数据库-在主服务器上操作 create database db_mirror on ...
- 如何解决SQL Server 2008 无法连接到(local)
打开SQL SERVER配置管理-->SQL SERVER 网络配置-->实例名的协议 将SQLEXPRESS协议中的Named Pipes和 TCP/IP启用. 点击SQL Se ...
- 微信小程序官方文档中的加密算法
用Nodejs来算一下:
- BZOJ3105: [cqoi2013]新Nim游戏(Xor线性无关组)
Description 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴.可以只拿一根,也可以拿走整堆火柴 ...