Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] (Visual Basic .NET) Separar datos con Split

Estas en el tema de (Visual Basic .NET) Separar datos con Split en el foro de .NET en Foros del Web. Hola a todos. Bueno, basicamente necesito que este codigo me de el dato "oph2" del link de ejemplo. Ejemplo: http://oph2.pagina.com/123123123123 Este codigo tengo. Código: Dim ...
  #1 (permalink)  
Antiguo 26/07/2013, 17:53
 
Fecha de Ingreso: febrero-2012
Mensajes: 15
Antigüedad: 12 años, 2 meses
Puntos: 1
(Visual Basic .NET) Separar datos con Split

Hola a todos.


Bueno, basicamente necesito que este codigo me de el dato "oph2" del link de ejemplo.

Ejemplo: http://oph2.pagina.com/123123123123

Este codigo tengo.

Código:
Dim datos As String()
            datos = textbox1.text.split("/")
            For Each dato In datos
            textbox2.text = textbox2.text & vbcrlf & dato '(vbcrlf = vbnewline)
            Next
Pero no se como hacer para separar el http:// y .pagina.com/123123123 para que quede solamente oph2

Necesito una ayudita por favor D:

Saludos
  #2 (permalink)  
Antiguo 26/07/2013, 21:43
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: (Visual Basic .NET) Separar datos con Split

<saludos>
Y porque no hacer lo siguiente?
Usar una función que busque la primera ocurrencia del punto,
luego realizar un substring desde el inicio de la cadena hasta
la posición que de la función de la ocurrencia del punto
Y finalmente, usar otra función que busque la primera ocurrencia del slash
buscando en la subcadena obtenida, pero buscando la posiciòn de adelante
para atrás (es decir, que empiece desde el final de esta nueva subcadena),
y con esto se realiza un substring final teniendo en cuenta esta posiciòn
y así se tendría el resultado incluso sin hacer uso del foreach, que tal te suena?
Prueba y nos cuentas!
</saludos>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 26/07/2013, 23:36
 
Fecha de Ingreso: febrero-2012
Mensajes: 15
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: (Visual Basic .NET) Separar datos con Split

Cita:
Iniciado por mortiprogramador Ver Mensaje
<saludos>
Y porque no hacer lo siguiente?
Usar una función que busque la primera ocurrencia del punto,
luego realizar un substring desde el inicio de la cadena hasta
la posición que de la función de la ocurrencia del punto
Y finalmente, usar otra función que busque la primera ocurrencia del slash
buscando en la subcadena obtenida, pero buscando la posiciòn de adelante
para atrás (es decir, que empiece desde el final de esta nueva subcadena),
y con esto se realiza un substring final teniendo en cuenta esta posiciòn
y así se tendría el resultado incluso sin hacer uso del foreach, que tal te suena?
Prueba y nos cuentas!
</saludos>

Gracias! Se me hizo la idea y use: InStr para contar los caracteres y Substring para conseguir el dato.

Código:
Dim resi, resf, link, ressv As String
        link = "http://int15.ejemplo.com"
        resi = InStr(link, "//")
        resf = InStr(link, ".")
        ressv = link.Substring(resi + 1, resf - resi - 2) 
        MsgBox(ressv)
Basicamente el instr de "resi" me decia la cantidad de caracteres que habia desde el inicio del texto hasta EL PRIMER /, no los 2 solo el primero.
El resf me decia la cantidad de caracteres hasta el "."

ressv es la respuesta final, que usa substring para obtener "int15".

Resi + 1 (Debido al / faltante)

resf - resi - 2 (Restar el "/" y el "." para obtener el dato limpio "int15".

Luego el msgbox te dice el dato.

No se como explicarlo mejor pero bue :B

Bueno, ya esta funcionando el codigo. Muchas gracias por darme la idea, ya que ha funcionado correctamente.

Slds

Etiquetas: basic, net, split, textbox, vb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:11.