.NET用实际值替换占位符文本的最有效方法?

时间:2013-04-15 20:55:25

标签: .net replace

我有一个模板文本(简报文本)要发送给很多用户;在文本中有一些占位符,例如{{firstname}},{{lastname}}等。

用实际值替换占位符会更有效, .Replace(..)串联或RegExp或其他方法?

.NET语言。

2 个答案:

答案 0 :(得分:3)

由于您将多次调用.Replace(),因此使用StringBuilder.Replace()可能更有效,因为StringBuilderoptimized for multiple modifications

如果您在占位符的格式方面具有灵活性,我认为DotLiquid将是一个很好的候选者。他们可能已针对此方案优化了文本处理,但它也支持其他高级语法,因此可能存在开销。

答案 1 :(得分:1)

我最近测试了标准的dotnet方式

  1. string.Replace.Replace.Replace-内存效率最低,但比StringBuilder

  2. 更快
  3. StringBuilder.Replace.Replace.Replace的存储效率是string.Replace的2倍,但速度稍慢

  4. string.Format("{0},{1},{2}", x, y, z)的存储效率比StringBuilder低约20%,但比string.Replace.Replace.Replace快2倍以上