在云那方

首页 新随笔 联系 订阅 管理

 

/// <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();
    }

 

posted on 2009-07-22 16:43  Rich.T  阅读(865)  评论(0编辑  收藏  举报