欢迎光临
我们一直在努力

C#截取字符串函数:汉字算两个,数字算一个

建站超值云服务器,限时71元/月

        /// <summary>
        /// 截取指定数量字符中英混排
        /// </summary>
        /// <param name=”str”>要截取的字符串变量</param>
        /// <param name=”length”>要截取的长度</param>
        /// <param name=”flag”>flag=false表示不需要加省略号</param>
        /// <param name=”author”>wangsdong</param>
        /// <param name=”from”>www.aspbc.com</param>
        /// <returns></returns>
        public static string GetSubString(string str, int length, bool flag)
        {
            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)
                {
                    temp = temp.Substring(0, k);
                    break;
                }
            }
            if (flag)
            {
                temp += “…”;
            }
            return temp;
        }

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » C#截取字符串函数:汉字算两个,数字算一个
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址