У меня есть ситуация, когда у меня есть строка, в которой я должен заменить часть, которая находится между специальными символами. Я могу сделать то же самое, используя подстроки и длину, но это грязный способ. Есть ли лучший способ сделать это с помощью регулярного выражения?Regex заменить строку между специальными символами в C#
например. строки является
string str1 = "This is the <![CDATA[ SampleDataThatNeedsToBeReplaced ]]";
string repl = "Replacement Text";
мне нужно регулярное выражение, чтобы получить выход в
This is the Replacement Text
Я попробовать несколько регулярных выражений вроде следующего
result = Regex.Replace(str1, @"(?<=CDATA\[)(\w+?)(?=\]\])", repl);
Я также попытался
Regex x = new Regex("(\\[CDATA\\])(.*?)(\\[\\]\\]\\])");
string Result = str1.Replace(text, "$1" + repl + "$3");
не получил результатов. Любая помощь приветствуется.
Почему бы вам не использовать метод 'string.Replace', тогда это будет проще, если вы будете бороться с' Regex ' – MethodMan
thats то, что я делаю прямо сейчас, но он выглядит очень грязным, так как я должен получить начальный индекс, индекс конца, а затем подстроки, а затем конкатенация. Так что, если это можно сделать с помощью regex .. грязная часть может быть пропущена – Gautam
, так что где «текст», приходящий от .., когда вы показываете код, пожалуйста, покажите все примеры вашей строки, и как ожидается, ваш ожидаемый результат будет выглядеть как – MethodMan