Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Separar una frase por espacios

Estas en el tema de Separar una frase por espacios en el foro de Visual Basic clásico en Foros del Web. Hola. espero que alguien sepa como hacer eso... Tengo una variable que contiene varios códigos: a20212 a20213 a20214 a20215 Quiero separar cada uno de estos ...
  #1 (permalink)  
Antiguo 13/03/2009, 09:32
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Separar una frase por espacios

Hola. espero que alguien sepa como hacer eso...

Tengo una variable que contiene varios códigos:

a20212 a20213 a20214 a20215

Quiero separar cada uno de estos códigos y que se muestren en una tabla, es decir que quede así:

a20212
a20213
a20214
a20215

Con este código:
Código PHP:
        Dim x As Integer
        Dim rutacorta 
As String

        Response
.Write("<table>")
        For 
1 To Len(Session("IDcliente")) Step +1
            
If Mid(Session("IDcliente"), x1) = " " Then
                rutacorta 
Microsoft.VisualBasic.Left(Session("IDcliente"), x)
                
Response.Write("<tr><td>" rutacorta "</td><td>" "</td></tr>")
                
rutacorta ""
            
End If
        
Next
        Response
.Write("</table>"
Me dá este resultado:
a20212
a20212 a20213
a20212 a20213 a20214
a20212 a20213 a20214 a20215

Me podéis decir que falta añadir al código para que no se me repita siempre los valores anteriores?

Muchisimas gracias de antemano
  #2 (permalink)  
Antiguo 13/03/2009, 09:38
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 3 meses
Puntos: 57
Respuesta: Separar una frase por espacios

Lo mas sencillo para separar una cadena es utilizar la funcion split. La funcion te regresa un arreglo con cada una de las partes. Uno de los parametros de la funcion es el separador que quieres utilizar:

Código:
arreglo = split(Session("IDcliente"), " ")
for x = 1 to ubound(arreglo)
   response.write "<tr><td>" & arreglo(x) & "</td></tr>"
next
El problema que tienes con tu codigo es que utilizas left. Cuando encuentras el primer espacio (caracter 7), con left obtienes los primeros 7 caracteres (que es correcto). Pero en la siguiente pasada del ciclo, encuentras otro espacio en el caracter 14 y con left obtienes los primeros 14 caracteres de la cadena. Es por eso que se estan repitiendo los valores.

Última edición por posman; 13/03/2009 a las 09:44
  #3 (permalink)  
Antiguo 13/03/2009, 09:52
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Separar una frase por espacios

Qué bueno! Es más sencillo que de la manera q estaba intentano. Muchas gracias posman por tu ayuda.

Coloco aquí el código completo que he usado:

Código PHP:
        Dim arreglo() As String
        Dim i 
As Integer
        arreglo 
Split(Session("IDcliente"), " ")
        
Response.Write("<table>")
        For 
LBound(arregloTo UBound(arreglo)

            
Response.Write("<tr><td>")
            
Response.Write(arreglo(i))
            
Response.Write("</td></tr>")
        
Next
        Response
.Write("</table>"
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 01:14.