[导入]截取等宽字符串函数
当遇到需要对过长的标题进行截取时,可以使用下面这个函数进行截取。
1
public static string GetSubString(string original, int lenght)
2

{
3
string newStr = original;
4
5
if (lenght < original.Length)
6
{
7
int newLen = lenght;
8
9
bool isFirst = true;
10
11
for (int i = 0; i < lenght; i++)
12
{
13
if ((int)original[i] < 128)
14
{
15
newLen++;
16
17
if (newLen <= original.Length)
18
{
19
if ((int)original[newLen - 1] > 127 && isFirst)
20
{
21
newLen--;
22
23
isFirst = false;
24
}
25
else
26
{
27
isFirst = true;
28
}
29
}
30
else
31
{
32
break;
33
}
34
}
35
}
36
37
newStr = original.Substring(0, newLen);
38
}
39
40
return newStr;
41
}
这个函数的作用是:当已截取的字符串中包括英文时,则在原字符串上多截取一部分字符。多截取的数量取决于已截取的字符串中英文字符的数量。
不过这个函数只适用于使用等宽英文字体的网页,如使用"宋体"等字体的网页。不适用于使用非等宽字体的网页,如使用"Tahoma"等字体的网页。
文章来源:http://fredlau21.blog.163.com/blog/static/485512622007102954744214

浙公网安备 33010602011771号