-3

我想替换所有出现的字符串,只要它们不以'@'开头,例如在以下查询中:

 (surname = @surname and surname = @surname1)

如果我想替换surname,它只会替换等号左侧的两个。因此,离开@surname@surname1无人取代。

4

1 回答 1

3

您可以Regex.Replace为此使用:

Regex.Replace(yourString, "([^@])surname", "$1Diaz");

基本上告诉 Regex,除了 @ 符号之外的[^@]任何字符都可以出现在您正在寻找的“姓氏”文本的前面。$1 是必要的,因为否则,任何字符也将被删除。

请注意,如果“surname”位于字符串的开头,则此 Regex 不进行一些额外修改将不匹配。在您提供的示例中,它以左括号开头,因此只要该条件成立,上述解决方案就可以工作。

于 2013-07-05T06:27:06.313 回答