2015-10-26 13 views
5

Ho problemi quando voglio separare la mia stringa in JavaScript, questo è il mio codice:funzione simile esplodere php in javascript?

var str= 'hello.json'; 
str.slice(0,4); //output hello 
str.slice(6,9); //output json 

il problema è quando voglio tagliare seconda stringa ('json') dovrei creare un'altra fetta troppo.

Voglio rendere questo codice più semplice, c'è qualche funzione in JavaScript come la funzione di esplosione in php?

+2

'str.split ('')' – Tushar

risposta

11

È possibile utilizzare split()

var str = 'hello.json'; 
 
var res = str.split('.'); 
 

 
document.write(res[0] + ' ' + res[1])

o utilizzare substring() e indexOf()

var str = 'hello.json'; 
 

 
document.write(
 
    str.substring(0, str.indexOf('.')) + ' ' + 
 
    str.substring(str.indexOf('.') + 1) 
 
)

3

Il php example per explode:

$pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; 
$pieces = explode(" ", $pizza); 
echo $pieces[0]; // piece1 
echo $pieces[1]; // piece2 

// Example 2 
$data = "foo:*:1023:1000::/home/foo:/bin/sh"; 
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data); 
echo $user; // foo 
echo $pass; // * 

L'equivalente (stile ES2015) Javascript:

//Example 1 
let pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; 
let pieces = pizza.split(" "); 
console.log(pieces[0]); 
console.log(pieces[1]); 

//Example 2 
let data = "foo:*:1023:1000::/home/foo:/bin/sh"; 
let user, pass, uid, gid, gecos, home, shell; 
[user, pass, uid, gid, gecos, home, ...shell] = data.split(":"); 
console.log(user); 
console.log(pass);