日期:2014-05-20  浏览次数:20882 次

如何判断字符串长度?汉字算1长度,英文数字算0.5长度。
请问在linq中可以实现不呢?还是要写个存储过程或是标量函数?

我取出文章表的标题字段,如果标题大于30则截断,主要是这个用。如果标题中含有英文或是数字都比预想的短。

------解决方案--------------------
System.Text.Encoding.Default.GetBytes("我的长度").Length
------解决方案--------------------
可以啊
------解决方案--------------------
.net 中、英都是按双字节来算的。

直接写个方法调用,不可以吗?
public string CutString(string input)
{
if(input.Length>30)
return input.SubString(0,30);
else
return input;
}
------解决方案--------------------
public string GetSubString(string str, int num)
{
return (System.Text.Encoding.Default.GetBytes("").Length > num) ? str.Substring(0, num) + "..." : str;
}