码迷,mamicode.com
首页 > 其他好文 > 详细

截取文本,区分中英文字符,中文算两个长度,英文算一个长度

时间:2016-05-05 19:07:11      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

 /// <summary> 
  /// 截取文本,区分中英文字符,中文算两个长度,英文算一个长度
  /// </summary>
  /// <param name="str">待截取的字符串</param>
  /// <param name="length">需计算长度的字符串</param>
  /// <returns>string</returns>
  public static string GetSubString(string str, int length)
  {
    string temp = str;
    int j = 0;
    int k = 0;
    for (int i = 0; i < temp.Length; i++)
    {
      if (Regex.IsMatch(temp.Substring(i, 1), @"[\u4e00-\u9fa5]+"))
      {
        j += 2;
      }
      else
      {
        j += 1;
      }
      if (j <= length)
      {
        k += 1;
      }
      if (j > length)
      {
        return temp.Substring(0, k) + "...";
      }
    }
    return temp;
  }

截取文本,区分中英文字符,中文算两个长度,英文算一个长度

标签:

原文地址:http://www.cnblogs.com/602147629/p/5462625.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!