我有这一段:
"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);
我可以提供从数据库替换字符串的字典。有什么想法吗?
答案 0 :(得分:3)
当然,请使用Regex.Replace
:
var res = reg.Replace(text, match => { ....; return "reply"; });
在匹配lambda中,您可以根据match
值恢复数据并相应地返回回复。