我正在尝试替换仅括号中的值。当我使用string.Replace()
时,它将替换所有值(括号内和括号外)。我应该用什么来替换仅放在方括号中的值?
原始字符串:"Example string: `REPLACEME` (`REPLACEME`)"
必需的字符串:"Example string: `REPLACEMENT` (`REPLACEME`)"
P.S。我不是要替换字符串中的第一个值,在这里重要的是替换OUT OF BRACKETS值
答案 0 :(得分:1)
您可以在Negavtive LookAhead and LookBehind之后使用正则表达式
(?<!\()\`\bREPLACEME\b\`(?![\w\s]*[\)])
例如,
var str = @"Example string: `REPLACEME` (`REPLACEME`)";
var result = Regex.Replace(str,@"(?<!\()\`\bREPLACEME\b\`(?![\w\s]*[\)])","`REPLACEMENT`");
哪里
(?<!\()
:与字符(
匹配的负向外观
(?![\)])
:与字符)
匹配的负前瞻