2012-02-18 10 views
7

Entonces, tengo una cadena con el delimitador | , una de las secciones contiene "123", ¿hay alguna manera de encontrar esta sección e imprimir los contenidos? algo así como PHP explotar (pero Javascript) y luego un bucle para encontrar '123' tal vez? :/Javascript - explde equivilent?

+3

posible duplicado de [Equivalente Javascript para estallar] (http://stackoverflow.com/questions/4514323/javascript-equivalent-to-explode) –

+0

Posible duplicado de [Javascript equivalente a PHP Explode()] (https://stackoverflow.com/questions/4514323/javascript-equivalent-to-php-explode) –

Respuesta

18
var string = "123|34|23|2342|234", 
    arr = string.split('|'), 
    i; 

for(i in arr){ 
    if(arr[i] == 123) alert(arr[i]); 
} 

O:

for(i in arr){ 
    if(arr[i].indexOf('123') > -1) alert(arr[i]); 
} 

Para obtener más información sobre string manipulación y funciones basadas ver:

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String

+0

¿Cómo puedo ubicar la sección con "123" y repetir cualquier otra cosa? está en la sección: o? – King

+0

:) la sección tiene más de 123 en ella, ¿así que hay como strstr() equivilient para Javascript? – King

+0

Use la función 'match()'; ver mi respuesta a continuación. – wecsam

3

Usted puede utilizar split() en JavaScript:

var txt = "123|1203|3123|1223|1523|1243|123", 
    list = txt.split("|"); 

console.log(list); 

for(var i=0; i<list.length; i++){ 
    (list[i]==123) && (console.log("Found: "+i)); //This gets its place 
} 

VIVO DEMO: http://jsfiddle.net/DerekL/LQRRB/

1

.split es el equivalente de explode, mientras que .join es el equivalente de implode.

var myString = 'red,green,blue'; 
var myArray = myString.split(','); //explode 
var section = myArray[1]; 
var myString2 = myArray.join(';'); //implode 
1

Esto debe hacerlo:

var myString = "asd|3t6|2gj|123hhh", splitted = myString.split("|"), i; 
for(i = 0; i < splitted.length; i++){ // You could use the 'in' operator, too 
    if(splitted[i].match("123")){ 
     // Do something 
     alert(splitted[i]); // Alerts the entire contents between the original |'s 
     // In this case, it will alert "123hhh". 
    } 
}