无需手动操作即可更换管柱

本文关键字:操作 | 更新日期: 2023-09-27 18:20:05

我遇到了一个关于字符串替换的问题,因为子字符串在某个地方发生了变化。例如

component1 = 5;
component2 = 6;
component10= 7;

当我想用variable替换component1时,component10将更改为variable0

我应该如何在C#中防止这种情况

无需手动操作即可更换管柱

您可以使用非单词边界。所以,你的正则表达式应该是

'bcomponent1'b

这将匹配组件1作为单独的单词,而不是作为子字符串


你的代码应该是

string output=Regex.Replace(input,@"'bcomponent1'b");

@是必需的,否则'b将被视为特殊字符,这将给您带来错误,因为'b不是有效的转义字符或使用''b

只需按子字符串长度的降序替换它们。