ASP.NET - 截取固定长度字符串显示在页面,多余部分显示为省略号

方法一:

publicstaticstring GetString(string str, int length)
{
int i =0, j =0;
foreach(char chr in str)
{
if((int)chr >127)
{
i
+=2;
}
else
{
i
++;
}
if (i > length)
{
str
= str.Substring(0, j) +"...";
break;
}
j
++;
}
return str;

}
方法二

publicstaticstring stringformat(string str,int n)
{
///
///格式化字符串长度,超出部分显示省略号,区分汉字跟字母。汉字2个字节,字母数字一个字节
///
string temp=string.Empty;
if(System.Text.Encoding.Default.GetByteCount(str)<=n)//如果长度比需要的长度n小,返回原字符串
{
return str;
}
else
{
int t=0;
char[] q=str.ToCharArray();
for(int i=0;i<q.Length&&t<n;i++)
{
if((int)q[i]>=0x4E00&& (int)q[i]<=0x9FA5)//是否汉字
{
temp
+=q[i];
t
+=2;
}
else
{
temp
+=q[i];
t
++;
}
}
return (temp+"...");
}
}
方法一:

publicstaticstring GetString(string str, int length)
{
int i =0, j =0;
foreach(char chr in str)
{
if((int)chr >127)
{
i
+=2;
}
else
{
i
++;
}
if (i > length)
{
str
= str.Substring(0, j) +"...";
break;
}
j
++;
}
return str;

}
方法二

publicstaticstring stringformat(string str,int n)
{
///
///格式化字符串长度,超出部分显示省略号,区分汉字跟字母。汉字2个字节,字母数字一个字节
///
string temp=string.Empty;
if(System.Text.Encoding.Default.GetByteCount(str)<=n)//如果长度比需要的长度n小,返回原字符串
{
return str;
}
else
{
int t=0;
char[] q=str.ToCharArray();
for(int i=0;i<q.Length&&t<n;i++)
{
if((int)q[i]>=0x4E00&& (int)q[i]<=0x9FA5)//是否汉字
{
temp
+=q[i];
t
+=2;
}
else
{
temp
+=q[i];
t
++;
}
}
return (temp+"...");
}
}



posted on 2011-09-20 10:18  David.Yun 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/LYshuqian/archive/2011/09/20/2182160.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值