/// <summary>
        /// 截取指定长度的中英文混合字符串的算法 
        /// </summary>
        /// <param name="str"></param>
        /// <param name="length"></param>
        /// <returns></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++;
                }
                if (j >= length)
                {
                    return temp.Substring(0, k);
                }
            }
            return temp;
        }

相关文章:

  • 2021-06-07
  • 2021-12-27
  • 2021-09-28
  • 2021-12-15
  • 2021-09-27
  • 2021-10-02
猜你喜欢
  • 2021-07-07
  • 2021-10-19
  • 2021-07-27
  • 2021-06-24
  • 2021-10-23
相关资源
相似解决方案