2009-08-01 19 views
29

Tengo curiosidad por cómo dividir una variable en algunas otras variables.Cómo analizar una cadena en JavaScript?

Por ejemplo, decir que tengo el siguiente JavaScript:

var coolVar = '123-abc-itchy-knee'; 

Y quería dividir en 4 variables que, ¿cómo se hace eso?

, para cerrar con una matriz en donde

array[0] == 123 
and 
array[1] == abc 

etc sería genial.

O (una variable para cada parte de la cadena)

var1 == 123 
and 
var2 == abc 

podría trabajar ... de cualquier manera. ¿Cómo se divide una cadena de JavaScript?

Respuesta

75

utilizar la función Javascript cadena split().

var coolVar = '123-abc-itchy-knee'; 
var partsArray = coolVar.split('-'); 

// Will result in partsArray[0] == '123', partsArray[1] == 'abc', etc 
+1

que es más simple de lo que pensaba ... gracias Dav – willdanceforfun

+0

coool, increíble, brillante) – zest

+0

Si pone algo más en 'coolVar', asegúrese de agregar' coolVar.toString(). Split ('-') 'si obtienes una excepción. – Fr333du

15

Uso dividida en cadena:

var array = coolVar.split(/-/); 
+0

¿Split tomar expresiones regulares? Pensé que solo tomó una cadena de búsqueda. – Macha

+0

Puede tomar/-/también. – Amber

+6

Ni siquiera tiene que ser una expresión regular constante, puede ser más complejo. Por ejemplo: '" hello-there_stranger ".split (/ - | _ /)' devuelve una matriz de 3 elementos. –

2

como amber y sinan han mencionado anteriormente, el método '.split' de javascritp funcionará muy bien. Solo pásalo el separador de cuerda (-) y la cuerda que intentas dividir ('123-abc-itchy-knee') y hará el resto.

var coolVar = '123-abc-itchy-knee'; 
    var coolVarParts = coolVar.split('-'); // this is an array containing the items 

    var1=coolVarParts[0]; //this will retrieve 123 

Para acceder a cada elemento de la matriz, utilice el índice correspondiente (los índices comienzan en cero).

Cuestiones relacionadas