- 所属分类:网站建设知识
- 作者: 独占网络
- 更新时间: 2015-2-19 12:20:18
- 返回列表
我们写网页程序的时候经常会发现字符长度超出范围了,这种情况下我们就需要截取字符的长度,让其不超过我们需要长度,我们经常使用 Substring方法来截取字符长度,但是这种方法有许多的问题,比如,这种方法在截取中文字符还有英文字符的时候长度就会截取得不样了,那我们下面就来讲一下我们正确的截取方法吧。
public static string CutString(string inputString, int len)
{
ASCIIEncoding ascii = new ASCIIEncoding();
int tempLen = 0;
string tempString = "";
byte[] s = ascii.GetBytes(inputString);
for (int i = 0; i < s.Length; i++)
{
if ((int)s[i] == 63)
{
tempLen += 2;
}
else
{
tempLen += 1;
}
try
{
tempString += inputString.Substring(i, 1);
}
catch
{
break;
}
if (tempLen > len)
break;
}
//如果截过则加上半个省略号
byte[] mybyte = System.Text.Encoding.Default.GetBytes(inputString);
if (mybyte.Length > len)
tempString += "…";
return tempString;
}
上面的代码是一个比较完美的截取字符长度的方法,这个方法让我们的截取字符的时候中文长度跟英文长度是一致的,所以直接用上面的代码就可完成的您截取了。
如有不懂,联系独
占网络(
http://www.sz886.com)