/// <summary>
/// 字符截取,中文一个字符两个字节处理
/// </summary>
/// <param name="str"></param>
/// <param name="length"></param>
/// <returns></returns>
public string GetSubString(string str, int length)
{
Regex regex = new Regex("^[\u4e00-\u9fa5]$");
StringBuilder sb = new StringBuilder();
int nLength = 0;
for (int i = 0; i < str.Length; i++)
{
nLength += Encoding.Default.GetByteCount(str[i].ToString());//全角长度2,半角长度1
if (nLength > length)//当总长度超出要截取的长度,余下的字符不加
break;
sb.Append(str[i].ToString());
}
return sb.ToString();
}
/// 字符截取,中文一个字符两个字节处理
/// </summary>
/// <param name="str"></param>
/// <param name="length"></param>
/// <returns></returns>
public string GetSubString(string str, int length)
{
Regex regex = new Regex("^[\u4e00-\u9fa5]$");
StringBuilder sb = new StringBuilder();
int nLength = 0;
for (int i = 0; i < str.Length; i++)
{
nLength += Encoding.Default.GetByteCount(str[i].ToString());//全角长度2,半角长度1
if (nLength > length)//当总长度超出要截取的长度,余下的字符不加
break;
sb.Append(str[i].ToString());
}
return sb.ToString();
}