当前位置:  开发笔记 > 编程语言 > 正文

使用带有可变文本的正则表达式替换文本?

如何解决《使用带有可变文本的正则表达式替换文本?》经验,为你挑选了1个好方法。

让我说我有一些文本有很多单词"查找"的实例,我想用"Replace1","Replace2","Replace3"等文本替换它.数字是"查找"的出现次数文本.如何在C#中以最有效的方式做到这一点,我已经知道了循环方式.



1> Marc Gravell..:

A MatchEvaluator可以做到这一点:

string input = "FindbcFinddefFind", pattern = "Find";
int i = 1;
string replaced = Regex.Replace(input, pattern, match => "REPLACE" + i++);

请注意,match变量也可以访问Match等等.使用C#2.0,您需要使用匿名方法而不是lambda(但效果相同) - 以显示以下内容Match:

string input = "FindbcFinddefFind", pattern = "Find";
int i = 1;
string replaced = Regex.Replace(input, pattern, delegate(Match match)
{
    string s = match.Value.ToUpper() + i;
    i++;
    return s;
});

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有