我想替换所有出现的字符串,只要它们不以“@”开头,例如在以下查询中:
(surname = @surname and surname = @surname1)
如果我想替换surname
,它只会替换等号左侧的两个。因此,请将@surname
和@surname1
取消替换。
答案 0 :(得分:3)
您可以使用Regex.Replace
:
Regex.Replace(yourString, "([^@])surname", "$1Diaz");
[^@]
基本上告诉正则表达式,除@符号之外的任何字符都可以出现在您要查找的“姓氏”文本之前。 $ 1是必要的,因为否则,无论什么角色也会被剥离。
请注意,如果该字符串位于字符串的开头,则此正则表达式不会与“surname”匹配。在您提供的示例中,它以开括号开头,因此只要该条件成立,上述解决方案就可以正常工作。