1 / 7
文档名称:

c高性能的截取字符串函数.docx

格式:docx   大小:17KB   页数:7页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

c高性能的截取字符串函数.docx

上传人:Alphago 2022/6/30 文件大小:17 KB

下载得到文件列表

c高性能的截取字符串函数.docx

相关文档

文档介绍

文档介绍:1
C高性能的截取字符串函数
去年的时候由于工作需要,写了个用C#截取指定长度的方法,当时颇费了一番周折,由于想错了方向。
例如要截取字符串我是1个中国人,取3位长度,那得到的结果是我,假如取6位长度,得到的结果是我是1长度,假如大于再执行截取,而这样无疑是低效的(假如需要截取的字符串有1万个字符,需要返回的是20个字符,同时返回20条记录的话需要替换几十万次....),还要接下来再推断是该截取几位.....

/**工作需要,要找一段截取定长混合的代码。*/

public static string GetSubString(string str, int length) {
string temp = str;
int j = 0, k=0;

CharEnumeratorce = ();
while (()) {
j += ( 0 255) ? 1 : 2 ;

4
if (j = length) {
k++;
} else {
temp = (0, k);
break;
}
}

return temp;
}

你这个有问题,只能推断中文,应当推断全部双字节字符
public static string GetStrLenAll(string s, intlen, string style)
{
string temp = s;
if ((temp, [^\x00-\xff], zz, ).Length = len)
{
return temp;
}
for (int i = ; i = 0; i--)
5
{
temp = (0, i);

if ((temp, [^\x00-\xff], zz, ).Length = len - )
{
return temp + style;
}
}
return ;
}


C#截取字符串应用:用C#截取指定长度的中英文混合字符串
我们常做的一件事情,就是在文章系统中,截取确定长度的文章标题,超过指定长度,就加“...”
如两个字符串:
1. string str1 = 中国人要啊abc呀~;
2. string str2 = 1中国人23456abc呀~;
C#截取字符串程序输出:
1. str1 = 中国人要...;
2. str2 = 1中国人2...;
6