Pasar de un string a un array

safuen
01 de Abril del 2004
hola a [email protected], tengo en un String lo q me sale de una consulta a una base de datos separando los
atributos de cada tupla con '*' ,cada tupla con '|' y al final pongo FIN.
Ejemplo:Pepe*Perez*Santos*|Raul*Hernandez*Rodriguez*|FIN
Ahora necesito meter cada atributo en un array, pero no se cómo hacerlo, alguna idea?
Gracias!

Fradique
01 de Abril del 2004
lo mas optimo seria utilizar la funcion split y join.
por ejemplo.
cadena="Pepe*Perez*Santos*|Raul*Hernandez*Rodriguez*|FIN"
arreglo=cadena.split("|")
con esto ya tendiras un arreglo con 3 posiciones:
en la 0: Pepe*Perez*Santos*
en la 1: Raul*Hernandez*Rodriguez*
en la 2: FIN

luego podrias obtener un segundo arreglo:
arreglo2=arreglo[0].split("*")
y obtendrias el siguiente arreglo de 4 posiciones:
en la 0: Pepe
en la 1: Perez
en la 2: Santos
en la 3:
si te das cuenta no seria necesario el ultimo asterisco ya que te crearia una posicion vacia.
tampoco seria necesario que envaras el FIN.
ya que el arreglo.length te devolvera una posicion mas que no es un dato.

de tal manera que podrias tener una funcion:
cadena="Pepe*Perez*Santos*|Raul*Hernandez*Rodrigu
function retornaDato(Registro,Atributo)
{
return cadena.split("|")[Registro].split("*")[Atributo]
}

si tenes dudas, escribime

salu2

Fradique

gdonnari
01 de Abril del 2004
si pones el contenido de las tuplas entre signos " y las separas signos , podes crear el array facilmente a partir del string:
la idea es que te que algo así:
"Pepe","Perez","Santos","Raul","Hernandez","Rodriguez"
Probá lo siguiente:
eval('tu_array = new Array('+ tu_string + ')');