Título: manejo de strings Publicado por: elrecar en 12 Octubre 2007, 03:14 am hola preciso una ayuda, resulta k tengo un programa k hace una peticion http a un server y guarda la respuesta en un textbox k es la siguiente:
Código: HTTP/1.1 302 Found Date: Fri, 12 Oct 2007 01:09:02 GMT Server: Apache Vary: * Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Fri, 12 Oct 2007 01:09:02 GMT Cache-Control: no-store, no-cache, must-revalidate Cache-Control: post-check=0, pre-check=0 Pragma: no-cache Location: http://www.url.com Connection: close Transfer-Encoding: chunked Content-Type: text/html 301 <html><head><meta http-equiv="refresh" content="0; URL=http://www.url.com"></head><body><a href='http://www.url.com'>Please click here ... </a></body></html> ahora kisiera saber komo hacer para kedarme solo con "http://www.url.com" y guardarlo en una variable de tipo string. graxias Título: Re: manejo de strings Publicado por: ~~ en 12 Octubre 2007, 14:04 pm Puedes hacer varias cosas. Si esa cadena siempre esta en la misma linea (la nº 10) haces un split a todo el text box partiendo por el caracter de retorno de carro, es decir vbnewline y luego con mid obtener la parte q te interesa (si no lo logras te hago un ejemplo)
O si no esta siempre en la misma linea buscar la cadena "Locatios: " con instr y devolver la url (lo mismo si no lo logras dimelo y te paso un ejemplo) Salu3 Título: Re: manejo de strings Publicado por: elrecar en 14 Octubre 2007, 00:48 am gracias E0N, lo he logrado, pero no me convence la forma novata que emplee para resolverlo xD
ahi va: Código: Private Sub Form_Load() Dim cadena As String Dim url As String Dim c As String Dim url_final As String cadena = "blablablablablanlkablabajnkajnakj" & vbCrLf & _ "blablablablablanlkablabajnkajnakj" & vbCrLf & _ "blablablablablanlkablabajnkajnakj" & vbCrLf & _ "blablablablablanlkablabajnkajnakj" & vbCrLf & _ "blablablablablanlkablabajnkajnakj" & vbCrLf & _ "blablablablablanlkablabajnkajnakj" & vbCrLf & _ "Location: http://www.url.com" url = InStr(1, cadena, "Location:") c = Mid(cadena, url) url_final = Replace(c, "Location:", "") MsgBox url_final End Sub me gustaria ver otra posible solucion, sino iwal no importa thanks again! Título: Re: manejo de strings Publicado por: elrecar en 14 Octubre 2007, 01:08 am ahhh ya no esta terminado nada ... XD
por ejemplo si el string es: cadena = "blablablablablanlkablabajnkajnakj" & vbCrLf & _ "blablablablablanlkablabajnkajnakj" & vbCrLf & _ "Location: http://www.url.com" & vbCrLf & _ "dwflkjdsflksdfjlksdfjlksdfjlksfdklsdfsfdsfdlkfsd" me devuelve "http://www.url.com dwflkjdsflksdfjlksdfjlksdfjlksfdklsdfsfdsfdlkfsd" y mmm "solucione" con lo siguiente: c = Mid(cadena, url, 30) pero en realidad yo no se el largo de la URL siempre es variante... alguna idea? :huh: Título: Re: manejo de strings Publicado por: Spider-Net en 14 Octubre 2007, 02:26 am Podrías hacer un bucle que avanzase por la cadena desde el primer caracter hasta que el caracter sea " " (osea un espacio) o bien el retorno de carro (osea vbcrlf cuyo valor ascii es el 13), cada vez que avance la cadena suma 1 a una variable y en el momento que llegue al espacio o al retorno de carro quiere decir que la url ha terminado y el tamaño que tenga la variable de incremento sería el tamaño de la cadena que quieres.. te pongo un ejemplo:
Código
A mi me funciona perfectamente, comprobado ;D si tienes algún problema postealo, creo que era eso lo que querías. Saludos. Título: Re: manejo de strings Publicado por: HaDeS, - en 14 Octubre 2007, 09:19 am Código algo mas peque :P saludos!! Título: Re: manejo de strings Publicado por: elrecar en 16 Octubre 2007, 20:28 pm gracias a todos :D
|