asp.net中英文字符串截取

时间:2009-04-12    点击:1626   

public static string Intercept(string input, int p)
        {
            Encoding encode
= Encoding.GetEncoding("gb2312");
           
byte[] byteArr = encode.GetBytes(input);
           
if (byteArr.Length <= p) return input;

           
int m = 0, n = 0;
           
foreach (byte b in byteArr)
            {
               
if (n >= p) break;
               
if (b > 127) m++; //重要一步:对前p个字节中的值大于127的字符进行统计
                n++;
            }
           
if (m % 2 != 0) n = p + 1; //如果非偶:则说明末尾为双字节字符,截取位数加1

           
return encode.GetString(byteArr, 0, n);
        }

 

public static string Intercept(string input, int len)
        {
           
int i = 0, j = 0, l = input.Length;
           
for (; i < l;i++ )
            {
               
if (j >= len) break;
               
if ((int)input[i] > 127)
                    j
+= 2;
               
else
                    j
++;
            }

           
if (i == l)
               
return input.Substring(0, i);
           
else
               
return input.Substring(0, i) + "...";
        }

        public static string Truncate(string input, int length)
        {
           
int count = input.Length;
           
int index = 0;
           
while (length > 0 && index < count)
            {
                length
-= (((((int)input[index++]) & 0xff00) + 0x1ffff) >> 16);
            }
           
return input.Substring(0, index);
        }

表格table数据过滤
滑动展示窗
鼠标经过图片,半透明的标题从下面出现,边框换色
标题层叠在图片上,标题文字和背景半透明,鼠标经过边框换色
图片标题轮换
> 返回     
地址:上海市普陀区胶州路941号长久商务中心 电话: QQ:
© Copyright 2012 上海网络 All Rights Reserved