我有一个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";
});
}