2015-10-26 11 views
5

Mam problem, gdy chcę, aby oddzielić mój ciąg w JavaScripcie, to mój kod:podobna funkcja eksploduje php w javascript?

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

problem jest gdy chcę pokroić drugi ciąg („json”) należy utworzyć kolejny kawałek też.

Chcę, aby ten kod był bardziej prosty, czy jest jakaś funkcja w JavaScript jak funkcja rozbijania w php?

+2

'str.split ('')' – Tushar

Odpowiedz

11

Można użyć split()

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

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

lub użyj substring() i indexOf()

var str = 'hello.json'; 
 

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

3

php example dla 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; // * 

javascript równoważne (styl ES2015):

//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);