Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   ASPX (.net) (http://www.forosdelweb.com/f78/)
-   -   Expresiones regulares...! (http://www.forosdelweb.com/f78/expresiones-regulares-399786/)

alejorom 05/06/2006 16:14

Expresiones regulares...!
 
Que tal foro
Necesito borrar o en su defecto poner un espacio en todo un html donde encuentre algo asi

<span ID='remover_1'> Todo esto tambien....</span>

Pueden haber varios, los diferencia con un contador

<span ID='remover_2'> Todo esto tambien....</span>
<span ID='remover_3'> Todo esto tambien....</span>
....
<span ID='remover_n'> Todo esto tambien....</span>

Gracias!

Bravenap 06/06/2006 01:27

Buenas. te pongo un ejemplo para que te hagas una idea del procedimiento. La cadena de texto sobre la que se van a hacer los reemplazos la cargas con el método que prefieras.

Código:

Dim str As String = "<span ID='remover_1'> Todo esto tambien....</span> asodjaojid  os do <span ID='remover_2'> Todo esto tambien....</span>"
        Response.Write(str & "<br>")
        Dim expreg As New System.Text.RegularExpressions.Regex("<span ID='remover_[\d]+'> Todo esto tambien....</span>")
        str = expreg.Replace(str, " * ")
        Response.Write(str & "<br>")

He utilizado un asterisco en lugar de un espacio en blanco para que veas bien el resultado del reemplazo. Lo marcado en rojo es la clave para que reconozca todas las etiquetas de la misma forma, independientemente del número que lleven.

Espero que te sirva.

Un saludo.

alejorom 06/06/2006 10:09

RegEx
 
Hola, Gracias.
Si me sirve bastante, lo que pasa es que como no se nada de expresiones regulares, hay algo que todavia no puedo cuadrar.

Lo que pasa es que lo que va entre los tags <span id=remover_n> Aqui...aqui </span> puede ser cualquier cosa. Entonces como le digo a la expresion regular que toma lo que sea ahi!


Gracias

Bravenap 07/06/2006 01:01

Se trata de usar otra expresión regular que indique que entre las dos etiquetas puede haber cualquier caracter.

Quedaría por tanto, y si no me equivoco:

Código:

"<span ID='remover_[\d]+'>\w*</span>"
Lo marcado en rojo representa cualquier caracter alfanumérico repetido 0 más veces. No tengo muy claro si, por ejemplo, otra etiqueta interna HTML la reconocería también. Haz pruebas.

De todas formas, te dejo este enlace para que aprendas un poquito más sobre expresiones regulares

http://es.wikipedia.org/wiki/Expresiones_regulares

Un saludo.


La zona horaria es GMT -6. Ahora son las 07:59.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.