2012-02-18 13 views
7

Więc mam ciąg znaków z ogranicznikiem | , jedna z sekcji zawiera "123", czy istnieje sposób na odnalezienie tej sekcji i wydrukowanie jej zawartości? coś podobnego do PHP eksploduje (ale Javascript), a następnie pętli, aby znaleźć "123" może? :/Javascript - eksplodować równorzędnie?

+3

możliwe duplikat [JavaScript równoważna eksplodować] (http://stackoverflow.com/questions/4514323/javascript-equivalent-to-explode) –

+0

Possible duplikat [Javascript będący odpowiednikiem PHP Explode()] (https://stackoverflow.com/questions/4514323/javascript-equivalent-to-php-explode) –

Odpowiedz

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

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

czyli

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

Więcej informacji na temat string oparciu manipulacji i funkcji patrz:

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

+0

W jaki sposób następnie zlokalizować sekcję z "123" i powtórzyć cokolwiek innego znajduje się w sekcji: o? – King

+0

:) sekcja ma więcej niż 123 w nim, więc jest tam jak strstr() equivilient dla JavaScript? – King

+0

Użyj funkcji 'match()'; zobacz moją odpowiedź poniżej. – wecsam

3

Można użyć split() w 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 
} 

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

1

.split jest odpowiednikiem explode, natomiast .join jest odpowiednikiem implode.

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

ten powinien zrobić:

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". 
    } 
} 
Powiązane problemy