Удалить текст между тегами

1

В С# мне нужно удалить текст, который может отображаться между двумя конкретными тегами close XML:

Так, например, у меня есть этот текст в строке:

</factura>]]></comprobante>

И мне нужно удалить эти элементы CDATA, но это всего лишь пример и может быть другим текстом между этими двумя тегами XML.

Мне нужно это с помощью Regex.

Я пытался:

System.Text.RegularExpressions.Regex.Replace(_inputString, @"/(?<=<\/factura>).*?(?=<\/comprobante>)/", "");

Но не сработало.

Заранее спасибо.

  • 0
    Если ваш вопрос касается XML, почему у вас есть HTML в заголовке? Если вы не будете осторожны, вы, скорее всего, получите множество ответов «не используйте регулярные выражения для разбора HTML» ... именно это я и собирался сделать
  • 2
    -1 XML не анализируется RegEx. Вы пробовали вместо этого анализатор XML?
Теги:
replace

3 ответа

0

Я прихожу из PHP, поэтому извините, если я потерплю неудачу. Я знаю, что замены и владельцы мест возможны в С# тоже.

pattern = @"(<\/[^>]+>)[^<]+<\/"; 
replace = "$1</";
0

Вам не нужно добавлять разделитель / в ваше регулярное выражение,

 System.Text.RegularExpressions.Regex.Replace(_inputString, @"(?<=<\/factura>).*?(?=<\/comprobante>)", "");

И лучше добавить (?s) модификатор DOTALL, который соответствует тексту внутри конкретного тега, даже если он содержит символы новой строки,

System.Text.RegularExpressions.Regex.Replace(_inputString, @"(?s)(?<=<\/factura>).*?(?=<\/comprobante>)", "");
  • 1
    -1 XML не анализируется RegEx. Вы пробовали вместо этого анализатор XML?
  • 0
    @ Арон просто скажи вышесказанное оп. Это подойдет для небольшого XML-файла.
0

Синтаксис для Regex в С# не нужен /, просто удалите их:

и / donot должны избегать

_inputString= System.Text.RegularExpressions.Regex.Replace(_inputString,
                         @"(?is)(?<=</factura>).*?(?=</comprobante>)", "");
  • 1
    -1 XML не анализируется RegEx. Вы пробовали вместо этого анализатор XML?
  • 0
    @ Арон Что я получил: @ Мигель хочет сделать это на C# , верно?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню