c# 超长字符串截取固定长度后显示...(超长后面显示点点点) 通用方法
通用方法:
此方法是采用unicode编码方式,一个汉字为2个字节,一个数字or字母是1个字节,此方法传入的第二个长度参数是unicode长度。
所以不用考虑截取的字符串是汉字还是英文字母的问题,参数length 可以理解为应该显示的宽度即可。
public string GetFirstString(string stringToSub, int length)
{
Regex regex = new Regex(@"[\u4e00-\u9fa5]+", RegexOptions.Compiled);
char[] stringChar = stringToSub.ToCharArray();
StringBuilder sb = new StringBuilder();
int nLength = ;
for (int i = ; i < stringChar.Length; i++)
{
if (regex.IsMatch((stringChar[i]).ToString()))
{
nLength += ;
}
else
{
nLength = nLength + ;
} if (nLength <= length)
{
sb.Append(stringChar[i]);
}
else
{
break;
}
}
if (sb.ToString() != stringToSub)
{
sb.Append("...");
}
return sb.ToString();
} 调用方法:
string NewStr = GetFirstString(OldStr, 25);//第一个参数原字符串,第二个参数截断的长度
c# 超长字符串截取固定长度后显示...(超长后面显示点点点) 通用方法的更多相关文章
- 【转载】Sqlserver使用Right函数从最右边向前截取固定长度字符串
在SQL语句查询过程中,Sqlserver支持使用LEFT().RIGHT().SUBSTRING()等几个函数对字符串进行截取操作,其中Left函数表示从开始字符向后截取多少个字符,Right函数表 ...
- 【转载】 Sqlserver使用Left函数从最左边开始截取固定长度字符串
在Sqlserver数据库的字符串操作中,截取字符串是最常见的操作,sql server提供了3个常用截取字符串方法,LEFT().RIGHT().SUBSTRING(),如果从第一个字符即最左边位置 ...
- Oracle 截取字符串(截取固定分隔符中间的字符
#### Oracle 截取字符串(截取固定分隔符中间的字符) #### #### oracle 取固定分隔符之间的字符--方法一 substr+ instrSELECT substr('12JP ...
- c#的中英文混合字符串截取指定长度,startidx从0开始
//c#的中英文混合字符串截取指定长度,startidx从0开始 by gisoracle@126.com public string getStrLenB(string str, int start ...
- js 截取固定长度字符串但不打断单词
适用地方:英文网站中,比如面包屑导航处新闻标题过长.用css截取文本简介时将单词打断 // 使用方法 // 1.复制下面函数 // 2.调用 // 3.填参数 sliceString(targe ...
- js截取固定长度字符串,多余字符显示...
function cutstr(str, len) { var str_length = 0; var str_len = 0; str_cut = new String(); str_len = s ...
- linux的string操作(字符串截取,长度计算)
按指定的字符串截取 1.第一种方法: ${varible##*string} 从左向右截取最后一个string后的字符串 ${varible#*string}从左向右截取第一个string后的字符串 ...
- 解决 ASP.NET Core MySql varchar 字符串截取(长度 255)
ASP.NET Core 中使用 MySql,如果字段类型为varchar,不管设置多少长度,插入或更新数据的时候,会自动截断(截取 255 长度的字符). 出现问题的原因,就是使用了MySql.Da ...
- 解决wordpress修改固定链接后出现404错误不能访问文章的方法
首先,建议大家安装完wordpress网站程序之后第一时间设置一下固定链接,避免以后修改出错.在wp后台仪表盘左侧导航里找到“设置——固定链接”即可配置你的wordpress固定链接,通常我习惯使用的 ...
随机推荐
- PBS命令和使用
PBS是公开源代码的作业管理系统,在此环境下运行,用户不需要指定程序在哪些节点上运行,程序所需的硬件资源由PBS管理和分配. PBS(Portable Batch System)是由NASA开发的灵活 ...
- [Cnbeta]BAT财报对比
https://www.cnbeta.com/articles/tech/789123.htm 随着腾讯上周公布财报,BAT三家2018年第三季度的数据均已公布,曾经与腾讯.阿里齐名的百度正被拉开越来 ...
- es6 let关键字
1.let关键字 var arr = [ ]; for(var i=0; i<10; i++){ arr [i] = function(){ alert(i) } } arr [8](); // ...
- UVA11374_Airport Express
给一个无向图,有的边是特殊边,最多可以取一条特殊边,求最短路,并且输出路径. 这样考虑,加入所有非特殊边,求出每个点到起点和终点的最短路.然后加入特殊边的时候,如果取当前这条特殊边,那么答案会是两点预 ...
- spring通过工厂模式解决页面耦合问题
spring通过工厂模式解决页面耦合问题
- InvalidArgumentError: You must feed a value for placeholder tensor 'Placeholder_1' with dtype float and shape [?,10]
在莫烦Python教程的“Dropout 解决 overfitting”一节中,出现错误如下: InvalidArgumentError: You must feed a value for plac ...
- 迭代解析JSON简单实例
由于项目中遇到了这个问题,所以在这里记录一下. 比如:请求到的JSON串: { "msg":"数据获取成功", "success":true ...
- wget递归下载整站
由于线上跑的系统还有CentOS5.4.6.4.6.5.6.5.6.6.6.8,而各镜像站维护的最早的版本已经是6.9,所以需要爬archive站点的rpm包来自建yum仓库. # wget -r - ...
- STS导入Gradle项目出现 Could not create task of type 'DependencyManagementReportTask'
解决方法: 在build.gradle文件下添加如下: classpath 'io.spring.gradle:dependency-management-plugin:0.6.1.RELEASE'
- Android获取程序路径 (/data/data/appname)
Android获取文件夹路径 /data/data/ http://www.2cto.com/kf/201301/186614.html String printTxtPath = getApplic ...