Reemplazar texto a veces si otras veces no

13/10/2004 - 18:59 por Jaimito | Informe spam
Hola compañeros...

Con el asunto creo que pueden determinar mi requerimiento.

Tengo un texto así:

<a href="http://www.google.com">Google</a>
<a href="listado.aspx">Listado de Morosos</a>
<a href="http://www.colombia.com.co">...<a/>
<a href="inicio.asp">Ir al Inicio</a>

Todo lo anterior está metido en una SOLA CADENA, necesito concatenarle a los
links que NO COMIENCEN por HTTP una cadena cualquiera.

Para el caso de la cadena anterior, tras efectuar la operación que necesito
quedaría así:

<a href="http://www.google.com">Google</a>
<a href="_JAIMITO_/listado.aspx">Listado de Morosos</a>
<a href="http://www.colombia.com.co">...<a/>
<a href="_JAIMITO_/inicio.asp">Ir al Inicio</a>

Como pueden ver, los links que comienzan por HTTP no se alteran para nada;
en cambio lo que no comienzan les concateno la cadena "_JAIMITO_/" justo
donde termina el "href" del link.

¿Se puede hacer lo anterior con expresiones regulares?
Si es así, les agradecería un ejemplo sencillo.


Mil gracias.
 

Leer las respuestas

#1 Octavio Telis Aynes
13/10/2004 - 20:07 | Informe spam
Chécate este código...
'INICIA
CÓDIGO-
Dim strHttp As String = "<a href=""http://www.google.com""&g...>" & _
"<a href=""listado.aspx"">Listado de
Morosos</a>" & _
"<a
href=""http://www.colombia.com.co"&qu...>" & _
"<a href=""inicio.asp"">Ir al
Inicio</a>"
Dim strsHttp As String() = strHttp.Split("""")
Dim strHttpSalida As String = ""
Dim i As Integer = 0
For Each s As String In strsHttp
If Not s.StartsWith("<") And Not s.StartsWith(">") Then
If Not s.StartsWith("http://") Then
s = "_JAIMITO_/" & s
End If
End If
If i = 0 Then
strHttpSalida &= s
Else
strHttpSalida &= """" & s
End If
i += 1
Next
label2.Text = strHttpSalida
'-TERMINA
CÓDIGO
Espero te sirva... ahora que solo sirve para el texto que envías, si quieres
más pues ya tienes el inicio creo que no tendrás más problemas

Saludos...

Octavio Telis Aynés
www.comunidadpuntonet.org/df/


"Jaimito" escribió en el mensaje
news:
Hola compañeros...

Con el asunto creo que pueden determinar mi requerimiento.

Tengo un texto así:

<a href="http://www.google.com">Google</a>
<a href="listado.aspx">Listado de Morosos</a>
<a href="http://www.colombia.com.co">...<a/>
<a href="inicio.asp">Ir al Inicio</a>

Todo lo anterior está metido en una SOLA CADENA, necesito concatenarle a


los
links que NO COMIENCEN por HTTP una cadena cualquiera.

Para el caso de la cadena anterior, tras efectuar la operación que


necesito
quedaría así:

<a href="http://www.google.com">Google</a>
<a href="_JAIMITO_/listado.aspx">Listado de Morosos</a>
<a href="http://www.colombia.com.co">...<a/>
<a href="_JAIMITO_/inicio.asp">Ir al Inicio</a>

Como pueden ver, los links que comienzan por HTTP no se alteran para nada;
en cambio lo que no comienzan les concateno la cadena "_JAIMITO_/" justo
donde termina el "href" del link.

¿Se puede hacer lo anterior con expresiones regulares?
Si es así, les agradecería un ejemplo sencillo.


Mil gracias.

Preguntas similares