У меня есть строка, похожая на
string str = "(50%silicon +20%!(20%Gold + 80%Silver)| + 30%Alumnium)";
Мне нужно регулярное выражение, которое заменяет содержимое между ними!и |с пустой строкой.Результат должен быть (50%silicon +20% + 30%Alumnium)
.
Если строка содержит что-то вроде (с вложенными разделителями):
string str = "(50%silicon +20%!(80%Gold + 80%Silver + 20%!(20%Iron + 80%Silver)|)|
+ 30%Alumnium)";
Результат должен быть (50%silicon +20% + 30%Alumnium)
- игнорируя вложенные разделители.
Я пробовал следующее регулярное выражение, но оно не игнорирует вложенность:
Regex.Replace(str , @"!.+?\|", "", RegexOptions.IgnoreCase);