有效地替换字符串中的文本

本文关键字:文本 字符串 替换 有效地 | 更新日期: 2023-09-27 18:11:31

我有一个c#字符串

((65.25 - 26.35)*420000)^2

我需要将常数2替换为2UL但问题是替换方法将所有2替换为2UL例如它像这样替换

((65.2long5 - 2long6.35)*42long0000)^2long

我需要这样的结果

 ((65.25 - 26.35)*420000)^2long

如何有效地替换,使其他字符串不受干扰

有效地替换字符串中的文本

您可以使用基于正则表达式的替换:

var res = Regex.Replace(str, @"(?<!'.)'b2'b(?!'.)", "2UL");

查看regex演示

细节

:

  • (?<!'.) -要求当前位置之前没有.的负向后看
  • 'b - leading word boundary
  • 2 -您的值
  • 'b -尾字边界
  • (?!'.) -一个负向前看,需要在当前位置之后缺少.