Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Kizar en 1 Enero 2006, 20:34 pm



Título: Parte de una String
Publicado por: Kizar en 1 Enero 2006, 20:34 pm
Tengo un problema k se solucionar mas o menos pero keria sus opiniones.

El caso es k tengo una url cualkiera, en este caso :
http://www.lalala.com/esto.htm

Pues yo keria k solo me mostrara:
http://www.lalala.com/

Por ahora lo ago usando la funcion InStr y Mid, pero no va bn.

Lo k quiero saber es como hacer para sabar el lugar k ocupa el ultimo "/" de una cadena.

PD: no vale usar right ni left por k puede ser una url cualkiera.

Salu2


Título: Re: Parte de una String
Publicado por: -Riven-Ward- en 1 Enero 2006, 22:04 pm
Te diré cómo hacerlo pero con pseudocódigo, o mas o menos xD.

Primero separas la URL carácter a carácter en un Array. Luego con un bucle vas recorriendo el array, viendo carácter a carácter si este es un /. Cuando cuentes 3 slashes, paras y guardas lo recorrido en una cadena. ¿Y que pasa siesque la URL viene sin http://? Bueno, primero debes comprobar si lo tiene. Si no lo tiene, ps lo pones xD. Si lo tiene, lo dejas asi :).

Y bueno, no se si habrá en VB una función que haga eso...

Salu2!


Título: Re: Parte de una String
Publicado por: Kizar en 1 Enero 2006, 22:16 pm
Ya, pero tu as dixo k cuente 3 "/", pero si la url es :
http://www.lala.com/pics/las.htm

La url k yo necesito es:
http://www.lala.com/pics/

Y como tu as dixo kedaria asi:
http://www.lala.com/

Yo quiero k siempre pare en el ultimo "/"
Por ahora lo estoy haciendo con un for k va desde 1 asta len(url), pero no se por k no me va bn.

Salu2 y grax de toas formas.


Título: Re: Parte de una String
Publicado por: NYlOn en 1 Enero 2006, 22:24 pm
Bueno, primero tendrias que fijarte si hay una /al final de la URL, si esta, la sacas y podes usar este codigo.

Código:
    Var = Split(Text1, "/") 'Text1 contiene la pagina
   
    For i = 0 To UBound(Var) - 1 'uno menos que el maximo
        Text2 = Text2 & Var(i) & "/" 'vas poniendo todas las subdiviciones y la "/"
    Next i

Espero que te sirva, un abrazo y feliz año.-


Título: Re: Parte de una String
Publicado por: Kizar en 1 Enero 2006, 22:51 pm
Ya va, muchas gracias NYlOn ;)

feliz año.
Salu2


Título: Re: Parte de una String
Publicado por: sch3m4 en 2 Enero 2006, 09:19 am
podrías hacerlo usando strreverse() y separar desde instr(cadena,"\") hasta len(cadena)  y que no se te olvide de nuevo, strreverse()  ;)


Título: Re: Parte de una String
Publicado por: Kizar en 2 Enero 2006, 14:39 pm
Eso ya se le ocurrio a un amigo, grax de todas formas, me kedo con lo de nylon.

Salu2


Título: Re: Parte de una String
Publicado por: Slasher-K en 2 Enero 2006, 15:40 pm
Existe la función InsStrRev que busca datos desde atrás hacia adelante de una cadena. La sintaxis es parecida a InStr.

Código:
       Dim iPos%

  iPos = InStrRev("http://www.lalala.com/lalala.htm", "/")

  Debug.Print "La última barra está en la posición " & iPos

Saludos.