将公式中的变量名替换为Regex.Replace
本文关键字:替换 Regex Replace 变量名 | 更新日期: 2023-09-27 18:08:56
在c#中,我想使用正则表达式将每个变量@A替换为一个数字,而不替换其他类似的变量,如@AB
string input = "3*@A+3*@AB/@A";
string value = "5";
string pattern = "@A"; //<- this doesn't work
string result = Regex.Replace(input, pattern, value);
// espected result = "3*5+3*@AB/5"
有什么好主意吗?
使用文字边界'b
:
string pattern = @"@A'b";
参见regex demo (Context tab)
注意字符串字面值之前的@
:我使用逐字字符串字面值来声明regex模式,这样我就不必转义'
。否则,它将看起来像string pattern = "@A''b";
。