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 ...
随机推荐
- ZOJ 2588 Burning Bridges(无向连通图求割边)
题目地址:ZOJ 2588 由于数组开小了而TLE了..这题就是一个求无向连通图最小割边.仅仅要推断dfn[u]是否<low[v],由于low指的当前所能回到的祖先的最小标号,增加low[v]大 ...
- Linux学习笔记--cp命令(复制)
cp:英文名copy,复制的意思. 1. 命令格式: cp [选项] 源文件或文件夹 目标文件或文件夹 cp [选项] 源文件1 源文件2 源文件3 ... 目标文件夹 2. 经常使用选项: &quo ...
- Lesson 2 Building your first web page: Part 2
Tag Diagram You may have noticed that HTML tags come in pairs; HTML has both an opening tag (<tag ...
- @Html.Raw() 方法输出带有html标签的字符串
@Html.Raw() 方法输出带有html标签的字符串,如:@Html.Raw("<div style='color:red'>输出字符串</div>") ...
- Android开发当中Parcelable接口的使用
本文转载于:http://www.2cto.com/kf/201205/132814.html 本文稍微做了些修改 android提供了一种新的类型:Parcel.本类被用作封装数据的容器,封装后的数 ...
- How Javascript works (Javascript工作原理) (十二) 网络层探秘及如何提高其性能和安全性
个人总结:阅读完这篇文章需要20分钟,这篇文章主要讲解了现代浏览器在网络层传输所用到的一些技术, 应当对 window.performance.timing 这个API所有了解. 这是 JavaScr ...
- javaScript [[scope]]学习笔记
在javaScript 学习中,闭包肯定是一个让人头疼的问题,而闭包必定离不开[[scope]]作用域 scope存储了执行期上下文的集合 而了解scope以及scope链又是一个十分抽象的问题 我们 ...
- 微软加速Visual Studio和Azure DevOps 云升级
在 2018 微软技术暨生态大会(Microsoft Tech Summit)上,微软宣布围绕 Visual Studio 和 Visual Studio Code 开发平台提供一系列新功能与服务,并 ...
- redis练习手册<二>快速入门
Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案. Redis从它的许多竞争继承来的三个主要特点: Redis数据库完全在内存中,使用磁盘仅用 ...
- [Javascript] Compose multiple functions for new behavior in JavaScript
In this lesson you will create a utility function that allows you to quickly compose behavior of mul ...