正则表达式替换文本内容

时间:2013-09-19 04:53:26

标签: c# asp.net regex

我有这一段:

"This person name #Question1#, #Question2#, has #Question3# been drinking in the past two days."

我使用正则表达式查找#Question[0-9]+#的匹配条目数组,我的问题是,如何利用正则表达式功能将这些#Question[0-9]+#替换为我数据库中的实际答案。

这是我的代码

        const string pattern = @"#Question([0-9]+)#";
        string input = template.GetPrintOut;
        MatchCollection matches = Regex.Matches(input, pattern);

我可以提供从数据库替换字符串的字典。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

当然,请使用Regex.Replace

var res = reg.Replace(text, match => { ....; return "reply"; });

在匹配lambda中,您可以根据match值恢复数据并相应地返回回复。