/// <summary>
/// 截取字符串后面加…
/// </summary>
/// <param name="truncateStr">所要截取的字符串</param>
/// <param name="len">要截取的长度</param>
/// <returns>截取后的字符串</returns>
public static string TruncateString(string truncateStr, int len)
{
Regex regex = new Regex("[\u4e00-\u9fa5]+", RegexOptions.Compiled);
char[] strChar = truncateStr.ToCharArray();
StringBuilder sb = new StringBuilder();
int nLength = 0;
for(int i = 0; i < strChar.Length; i++)
{
if (regex.IsMatch((strChar[i]).ToString()))
{
nLength += 2;
}
else
{
nLength = nLength + 1;
}
if (nLength <= len)
{
sb.Append(strChar[i]);
}
else
{
break;
}
}
if(sb.ToString() != truncateStr)
{
sb.Append("…");
}
return sb.ToString();
}