JavaScript中类似于PHP的explode函数的功能是什么?

5
我在 JavaScript 中想要分割字符串时遇到了问题,这是我的代码:
var str= 'hello.json';
str.slice(0,4); //output hello
str.slice(6,9); //output json

问题在于当我想要切割第二个字符串('json')时,我还需要创建另一个切片。

我希望将这段代码简化,JavaScript 中是否有类似于 PHP 中的 explode 函数的函数?

2个回答

11
您可以使用 split() 方法。

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

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

或者使用substring()indexOf()

var str = 'hello.json';

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


3

explode函数的PHP示例

$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的等效(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);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接