02/07/2015, 13:21
|
| | | Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 8 meses Puntos: 306 | |
Respuesta: Problema con la eliminación de contenidos entre etiquetas Yo una vez tuve el mismo problema, y llegué a la conclusión de que debido al funcionamiento de las regex (empiezan el análisis de derecha a izquierda), la pedazo de regex que tendría que hacer sería incomprensible en el improbable caso de que consiguiese hacerla.
Así que te propongo lo que hicimos nosotros, puede ser menos eficiente pero es más entendible y sencilla de debuggear. Hay que usar Matcher (group), recursividad y StringBuilder.
Con el matcher buscas la etiqueta que te interesa (inicio y fin), luego compruebas que dentro de ese trozo no está la etiqueta y puedes sustituir sin peligro. En el caso de que esté la etiqueta, tienes que diferenciar el caso de que estén anidadas o no, para escoger el trozo literal que vas a sustituir. El StringBuilder es para ir sacando una copia modificada del texto, porque buscar y modificar al mismo tiempo no es recomendable.
No quiero entrar más en detalle porque igual me lío o te lío a ti, pero buscaré el código por si acaso lo necesitas.
__________________ Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe. |