繁体   English   中英

正则表达式将所有匹配的令牌替换为小写

[英]Regex replace all matched tokens with lowercase

给定以下html文本片段

  <th>Member name:</th>
  <td>$$FULLNAME$$</td>
  <th>Club:</th>
  <td>$$ClubName$$</td>
  <th>Business Category:</th>
  <td>$$SubCategory$$</td>

我正在尝试使用C#替换所有令牌,例如$$FULLNAME$$变为$$fullname$$ ,输出应为

  <th>Member name:</th>
  <td>$$fullname$$</td>
  <th>Club:</th>
  <td>$$clubname$$</td>
  <th>Business Category:</th>
  <td>$$subcategory$$</td>

我想出了这个错误,因为\\L不能将匹配项转换为小写

public static string TokenReplacer(string value)
{
    var pattern = Regex.Escape("$$") + "(.*?)" + Regex.Escape("$$");
    var regex = new Regex(pattern);
    return regex.Replace(value, Regex.Unescape("$$$$") + @"\L$1" + Regex.Unescape("$$$$"));
}
var output = Regex.Replace(input, @"\$\$.+?\$\$", m => m.Value.ToLower());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM