我有这个字符串:

0000000020 c90037:临时数据

我需要这个字符串:

临时:数据。

用PHP我可以这样做:

$str = '0000000020C90037:TEMP:data';
$arr = explode(':', $str);
$var = $arr[1].':'.$arr[2];

我如何有效地爆炸一个字符串在JavaScript的方式,它在PHP工作?


当前回答

var str = "helloword~this~is~me";
var exploded = str.splice(~);

爆炸变量将返回数组,你可以访问数组中的元素,访问它true explosive [nth],其中nth是你想要得到的值的下标

其他回答

var str = '0000000020C90037:TEMP:data';    // str = "0000000020C90037:TEMP:data"
str = str.replace(/^[^:]+:/, "");          // str = "TEMP:data"

所以我知道这篇文章很老了,但我想我不妨添加一个多年来帮助我的功能。为什么不像上面提到的那样使用split重做爆炸函数呢?就是这样:

function explode(str,begin,end)
{
   t=str.split(begin);
   t=t[1].split(end);
   return t[0];
}

如果您试图获取两个值之间的值,则此函数工作得很好。例如:

data='[value]insertdataherethatyouwanttoget[/value]';

如果您对从两个[值]“标记”之间获取信息感兴趣,可以使用如下所示的函数。

out=explode(data,'[value]','[/value]');
//Variable out would display the string: insertdataherethatyouwanttoget

但是,假设您没有像上面显示的例子那样方便的“标签”。不管。

out=explode(data,'insert','wanttoget');
//Now out would display the string: dataherethatyou

想看看实际情况吗?请点击这里。

像这样试试,

ans = str.split (":");

你可以用弦的两部分,

南在

console.log (0000000020 c90037:临时:数据).split(“:”).slice (1) . join (': '))

输出:临时数据

.split()将把字符串分解成多个部分 .join()将数组重新组装为字符串 当你想要数组没有第一项时,使用.slice(1)

如果你喜欢php,看看php. js - JavaScript爆炸

或者在正常的JavaScript功能中: `

var vInputString = "0000000020C90037:TEMP:data";
var vArray = vInputString.split(":");
var vRes = vArray[1] + ":" + vArray[2]; `