从字符串中删除文本并返回删除的部分



是否有任何方法可以从字符串中删除文本并返回删除的部分,例如

var foo = "Hello world!";
var bar = foo.remove("world!");
console.log(foo); // "Hello "
console.log(bar); // "world!"

我所能想到的就是

var foo = "Hello world!";
var bar;
foo = foo.replace("world!",function(m){
bar = m;
return "";
});

但我希望有更好的方法来实现

您已经有了bar的值,所以不需要计算它。

var foo = "Hello world!";
var bar = "world!";
foo = foo.replace(bar,"");

您可以使用String.prototype.match

var foo = "Hello World!";
foo = foo.match("World!")[0];

最新更新