使用正则表达式截取字符串显示内容长度

本文介绍了一种使用正则表达式截取字符串的方法,确保返回的字符串长度符合指定要求,并在超过长度限制时添加省略号。此方法特别适用于处理包含中文字符的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    #region 使用正则表达式截取字符串显示内容长度
    /// <summary>
    /// 使用正则表达式截取字符串显示内容长度
    /// </summary>
    /// <param name="content">要切取的字符串</param>
    /// <param name="length">要得到的长度</param>
    /// <returns>切取后的字符串</returns>
    public static string CutString2(object content, int length)
    {
        string temp = content.ToString().Replace("<br/>", "").Replace("<br>", "");//先替换换行标签,保证不出现换行

        /*
         * 参数说明:要处理的字符串,符合条件的表达式[汉字],
         * 替换的字符[内容随意写但是要两个字符,因为一个中文对应两个字符,不区分大小写]
         */
        if (Regex.Replace(temp, "[\u4e00-\u9fa5]", "zz", RegexOptions.IgnoreCase).Length <= length)
        {
            return temp;
        }
        for (int i = temp.Length; i >= 0; i--)
        {
            temp = temp.Substring(0, i);
            if (Regex.Replace(temp, "[\u4e00-\u9fa5]", "zz", RegexOptions.IgnoreCase).Length <= length - 3)
            {
                return temp + "...";
            }
        }
        return "";
    }
    #endregion

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值