加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 可以在正则表达式中执行加法吗?

发布时间:2020-12-16 07:04:30 所属栏目:asp.Net 来源:网络整理
导读:假设占位符$2填充了整数,是否可以将其递增1?: var strReplace = @"$2";Regex.Replace(strInput,@"((.)*?)",strReplace); 解决方法 您可以将Regex.Replace的回调版本与MatchEvaluator一起使用,请参阅以下示例: http://msdn.microsoft.com/en-us/library/cf
假设占位符$2填充了整数,是否可以将其递增1?:

var strReplace = @"$2";
Regex.Replace(strInput,@"((.)*?)",strReplace);

解决方法

您可以将Regex.Replace的回调版本与MatchEvaluator一起使用,请参阅以下示例:

> http://msdn.microsoft.com/en-us/library/cft8645c.aspx
> http://www.dotnetperls.com/regex-replace

这是一个例子(ideone):

using System;
using System.Text.RegularExpressions;

class Program
{
    static string AddOne(string s)
    {
        return Regex.Replace(s,@"d+",(match) =>
        {
            long num = 0;
            long.TryParse(match.ToString(),out num);
            return (num + 1).ToString();
        });
    }

    static void Main()
    {
        Console.WriteLine(AddOne("hello 123!"));
        Console.WriteLine(AddOne("bai bai 11"));
    }
}

输出:

hello 124!
bai bai 12

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读