可能重复:
基于用户的字符串模板
我有一个格式的字符串Your invoice ref %name% is overdue by %age% days
,我想用运行时来自对象的数据替换“%”字符之间的封装。
我有下面的代码,但到目前为止我只能使用括号(我无法锻炼正确的百分比正则表达式),我怎样才能使它适用于 %shortcode% 呢?
其次,我还必须左右修剪。是否可以简单地返回没有百分比的字符串?
public void GenerateReminderContent(string text, Invoice invoice)
{
var result = Regex.Replace(text, @"\([^\]]*)\]", delegate(Match match)
{
var shortcode = match.Value.ToLower();
shortcode = shortcode.TrimEnd(']');
shortcode = shortcode.TrimStart('[');
if (shortcode == "name")
return invoice.Name;
else if (shortcode == "age")
return invoice.Age;
else
return "unknown-shortcode";
});
}