C# 字符串长度区分中英文截取



        #region   字符串长度区分中英文截取
        /// <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;
        }
        #endregion

相关阅读 >>

字符串分割的使用实例代码

开发中常遇到的问题--日期格式化转换.

分享基于字符串加密的md5算法实例代码

c#怎么从一串字符串中提取数字

c#中字符串的一般性和特殊性具体介绍(图文)

正则表达式模式匹配字符串基础知识_正则表达式

属性值反序列化失败怎么解决?

c#基于正则表达式如何删除字符串中数字或非数字的方法详解

asp.net mvc 对输入的字符串字段做trim处理的方法_实用技巧

c#获取字符串长度,一个汉字长度为2

更多相关阅读请进入《字符串》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...