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

相关阅读 >>

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

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

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

c#如何计算2个字符串相似度的示例代码分享

字符串的结束标志是什么?

在什么语言中字符串以\0标志字符串的结束?

asp如何解析json字符串并转化为asp对象

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

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

asp.net mvc 对用户输入的字符串做trim处理的方法实例

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




打赏

取消

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

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

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

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

评论

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