c# - 替换正则表达式中的字符串

标签 c# string

大家好,我有一个问题。 我正在尝试替换

private string StripHTML(string input)
    {
        return Regex.Replace(input, "<a href='#' onclick='disposePanel();return false;'>Cerrar ventana</a>", String.Empty);
    }

但是我的返回总是包含字符串,有什么线索吗?可以是 '' 吗?或者我做错了什么

<div id="head" class="header"><span class="closelink"><a href="#" onclick="disposePanel();return false;">Cerrar ventana</a></span><h1 class="certificado">Certificado de Asistencia en Viajes</h1><img class="header" src="https://3.cdnpt.com/images/header-prevem-wtassist.jpg" alt=""></div><div><div class="cuerpo"><h3>Beneficios</h3><ul><li><img src="https://3.cdnpt.com/images/seguros/concierge.png" alt=""><p>Línea de consulta</p></li><li><img src="https://3.cdnpt.com/images/seguros/247.png" alt=""><p>Disponibilidad 24 horas</p></li><li><img src="https://3.cdnpt.com/images/seguros/telefono.png" alt=""><p>Marcación gratuita</p></li><li><img src="https://3.cdnpt.com/images/seguros/amabilidad.png" alt=""><p>Atención amable</p></li></ul><h3>Cobertura</h3><ul><li><img src="https://3.cdnpt.com/images/seguros/medico-asistencia.png" alt=""><p>Atención médica por accidente o enfermedad no preexistente</p></li><li><img src="https://3.cdnpt.com/images/seguros/evacuacion.png" alt=""><p>Traslado sanitario</p></li><li><img src="https://3.cdnpt.com/images/seguros/medico-gastos.png" alt=""><p>Gastos médicos por accidente o enfermedad</p></li><li><img src="https://3.cdnpt.com/images/seguros/asistencia.png" alt=""><p>Asistencia vial telefónica y auxilio de grúa dentro de México</p></li><li><img src="https://3.cdnpt.com/images/seguros/cancelacion.png" alt=""><p>Cancelación e interrupción de viaje contratado</p></li><li><img src="https://3.cdnpt.com/images/seguros/equipaje.png" alt=""><p>Demora o pérdida definitiva de equipaje</p></li><li><img src="https://3.cdnpt.com/images/seguros/repatriacion.png" alt=""><p>Asistencia y repatriación funeraria</p></li><li><img src="https://3.cdnpt.com/images/seguros/muerte-accidental.png" alt=""><p>Indemnización por fallecimiento accidental*</p></li></ul><h3>Tranquilidad</h3><div class="col-wrap"><div class="col-6"><img src="https://3.cdnpt.com/images/seguros/tranquilidad.jpg" alt=""></div><div class="col-6 sides-margin"><h4>Confía en los expertos</h4><p>Prevem Seguros es la aseguradora especializada en Gastos Médicos  y Accidentes Personales con sólida vocación de servicio a través de productos innovadores.</p><p> Forma parte de un grupo mexicano de empresas especialistas en diferentes ramos de seguros con 65 años de experiencia en el sector.</p><p>World Travel Assist con más de 10 años de experiencia en el sector de asistencia en viajes, conformado por un equipo, enfocado en servicio con una red internacional de asistencia, que no tiene restricciones territoriales.</p></div></div><div class="col-wrap"><div class="col-11"> <br><p class="small">*Esta cobertura será otorgada por Prevem Seguro, S.A. DE C.V., con quien WTA tiene celebrado un contrato para tales efectos.</p><p class="small">**El alcance de esta cobertura inicia 12 horas antes del vuelo operado por Interjet, durante el vuelo, la estancia en el destino con un máximo de 60 días y 12 horas después del vuelo.</p><p class="small">Aplican Condiciones y Exclusiones.</p></div></div></div><div class="footer"><div><div class="col-wrap"><h3>Contacto</h3><div class="col-6"><p>Para reportar un incidente ó hacer uso de la asesoría:</p><ul class="tel"><li>001 866-261-1935  |   En México</li><li>1-877-822-7386  |   En Estados Unidos</li><li>954-472-1895 | En Estados Unidos Cobro Revertido</li></ul></div></div></div></div></div>

最佳答案

return Regex.Replace(input, "<a href='#' onclick='disposePanel\\(\\);return false;'>Cerrar ventana</a>", String.Empty);

必须对圆括号进行转义才能执行精确匹配。通常,在正则表达式中,它们有一个 different meaning .但老实说,我不会使用正则表达式来解决这个问题,我会选择 String.Replace 来代替,因为您正在处理一段不需要任何特定模式的不变文本匹配:

return input.Replace("<a href='#' onclick='disposePanel();return false;'>Cerrar ventana</a>", String.Empty);

关于c# - 替换正则表达式中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47782312/

相关文章:

c# - Azure AD AcquireToken 不适用于应用程序密码

c# - 在 Compact Framework 中安全删除文件

c# - 如何在客户端(使用 javascript)和服务器端(使用 c#)验证 mac 地址和 ip 地址

python - 返回 pandas 列中存在的多个单词的计数

python - 将括号分隔的字符串拆分为字典

c# - 具有有状态事件参数的异步事件处理程序

C# XmlSerializer 绑定(bind)失败

c# - 如何在 C++ 和 C# 之间传递带有空字符的字符串?

c# - 正则表达式条件不在最小下划线处返回 false

c# - 为什么没有本地字符串方法来更改字符串标题大小写?