c# 通过正则实现对文本一次性替换多个关键字(防止多次先后替换出现的结果变化带来的问题)
var replacements = new Dictionary<string, string>(); foreach (var key in keys) replacements.Add(key, $"<span style='background-color:blue;color:white;'>{HTMLEncode(key)}</span>"); //正则替换可以做到多个关键字一次替换,从而避免多次替换导致的叠加源字符串改变问题 var pattern = string.Join("|", replacements.Keys.Select(Regex.Escape)); var result = Regex.Replace(content, pattern, m => replacements[Regex.Unescape(m.Value)]); return result;
桂棹兮兰桨,击空明兮溯流光。