Вы можете использовать
Regex.Replace(text, @"(\{0})|[{}]", "$1")
Или для поддержки любых цифр ASCII внутри {...}
,
Regex.Replace(text, @"(\{[0-9]+})|[{}]", "$1")
См. Демонстрационную версию regex
Подробности
(\{0})
- Группа захвата 1 ($1
относится к этому значению из строки замены): a {0}
подстрока |
- или [{}]
- {
или }
.
Возможен другой подход с обходными путями:
Regex.Replace(text, @"{(?!0})|(?<!{0)}", string.Empty)
См. еще одна демонстрация регулярных выражений . Здесь {(?!0})
соответствует {
, за которым не следует 0}
, а (?<!{0)}
соответствует }
, которому не предшествует {0
.