替换正则表达式c#

1、替换最后一个字符

    dto.ContactPerson = dto.ContactPerson.ReplaceName("*");

    /// <summary>
    /// 替换最后一个字符串
    /// </summary>
    /// <param name="oldStr"></param>
    /// <param name="newStr"></param>
    /// <returns></returns>
    public static string ReplaceName(this string oldStr, string newStr)
    {
        string pattern = @"(.)$";
        string result = Regex.Replace(oldStr, pattern, newStr);

        return result;
    }

2、替换除第一字符外其他都替换成*

        注意:new string('*', m.Groups[2].Length) 是表示根据第一个字符后又几个字符来生成相应得*号来替换

 dto.ContactPerson = dto.ContactPerson.ReplaceName();

    /// <summary>
    /// 替换第一个字符后得其他字符串
    /// </summary>
    /// <param name="oldStr"></param>
    /// <param name="newStr"></param>
    /// <returns></returns>
    public static string ReplaceStr(this string oldStr)
    {
        // 正则表达式:匹配第一个字符之后的所有字符
        string pattern = "(.)(.*)";
        string result = Regex.Replace(oldStr, pattern, m => m.Groups[1].Value + new string('*', m.Groups[2].Length));

        return result;
    }

或则自定义替换成你想要得字符

dto.ContactPerson = dto.ContactPerson.ReplaceStr('-');

    /// <summary>
    /// 替换第一个字符后得其他字符串
    /// </summary>
    /// <param name="oldStr"></param>
    /// <param name="newStr"></param>
    /// <returns></returns>
    public static string ReplaceStr(this string oldStr, char newStr)
    {
        // 正则表达式:匹配第一个字符之后的所有字符
        string pattern = "(.)(.*)";
        string result = Regex.Replace(oldStr, pattern, m => m.Groups[1].Value + new string(newStr, m.Groups[2].Length));

        return result;
    }

 

3、隐藏手机号

         dto.ContactNumber = PhoneExtensions.GetPhoneHidden(demand.ContactNumber);

         /// <summary>
        /// 获取隐藏中间四位的手机号码
        /// </summary>
        /// <param name="phone"></param>
        /// <returns></returns>
        public static string GetPhoneHidden(this string phone, bool isValidateTelePhone = true)
        {
            //如果固化则不隐藏
            if (isValidateTelePhone && IsTelePhoneNumber(phone))
            {
                return phone;
            }
            return Regex.Replace(phone, "(\\d{3})\\d{4}(\\d{4})", "$1****$2");
        }

        /// <summary>  
        /// 验证固定电话号码  
        /// [3位或4位区号;区号可以用小括号括起来;区号可以省略;区号与本地号间可以用减号或空格隔开;可以有3位数的分机号,分机号前要加减号]  
        /// </summary>  
        /// <param name="input">待验证的字符串</param>  
        /// <returns>是否匹配</returns>  
        public static bool IsTelePhoneNumber(string input)
        {
            string pattern = @"^(((0\d2|0\d{2})[- ]?)?\d{8}|((0\d3|0\d{3})[- ]?)?\d{7})(-\d{3})?$";
            return IsMatch(input, pattern);
        }

  • 14
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吱吱喔喔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值