在 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"
有什么好主意吗?
最佳答案
使用 word boundary \b
:
string pattern = @"@A\b";
参见 regex demo (上下文标签)
请注意字符串文字前的 @
:我使用逐字字符串文字来声明正则表达式模式,这样我就不必转义 \
。否则,它看起来像 string pattern = "@A\\b";
。
关于c# - 用 Regex.Replace 替换公式中的变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32099222/