Parte de una String

Iniciado por Kizar, 1 Enero 2006, 20:34 PM

0 Miembros y 1 Visitante están viendo este tema.

Kizar

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

-Riven-Ward-

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!
Usuario Banneado

Kizar

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.

NYlOn

Bueno, primero tendrias que fijarte si hay una /al final de la URL, si esta, la sacas y podes usar este codigo.


    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.-

Kizar

Ya va, muchas gracias NYlOn ;)

feliz año.
Salu2

sch3m4

podrías hacerlo usando strreverse() y separar desde instr(cadena,"\") hasta len(cadena)  y que no se te olvide de nuevo, strreverse()  ;)
SafetyBits

"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.(..

Kizar

Eso ya se le ocurrio a un amigo, grax de todas formas, me kedo con lo de nylon.

Salu2

Slasher-K

Existe la función InsStrRev que busca datos desde atrás hacia adelante de una cadena. La sintaxis es parecida a InStr.


       Dim iPos%

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

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


Saludos.



A la reina de las profundidades que cuida los pasos de una sombra en la noche :*