我有一个看起来像这样的字符串:
0000000020C90037:TEMP:数据
我想获取第一个冒号之后的字符串,即:TEMP:数据
在php中,我知道可以使用explode函数来实现,代码如下:
$str = \'0000000020C90037:TEMP:data\';
$arr = explode(\":\", $str);
$var = $arr[1].\":\".$arr[2];
但在js中该如何实现呢?
这里有几种方法:
第一:使用js的split方法,具体代码如下:
var mystr = \'0000000020C90037:TEMP:data\';
//Splitting it with : as the separator
var myarr = mystr.split(\":\");
//Then read the values from the array where 0 is the first
var myvar = myarr[0] + \":\" + myarr[1];
第二种方法:使用js中的indexOf和substr, 代码如下:
str = str.substr(str.indexOf(\':\')+1);
第三种方法:自定义函数,这个函数的功能和php explode功能一模一样:
function explode (delimiter, string, limit) {
if (arguments.length < 2 ||
typeof delimiter === \'undefined\' ||
typeof string === \'undefined\') {
return null
}
if (delimiter === \'\' ||
delimiter === false ||
delimiter === null) {
return false
}
if (typeof delimiter === \'function\' ||
typeof delimiter === \' \' ||
typeof string === \'function\' ||
typeof string === \' \') {
return {
0: \'\'
}
}
if (delimiter === true) {
delimiter = \'1\'
}
// Here we go...
delimiter += \'\'
string += \'\'
var s = string.split(delimiter)
if (typeof limit === \'undefined\') return s
// Support for limit
if (limit === 0) limit = 1
// Positive limit
if (limit > 0) {
if (limit >= s.length) {
return s
}
return s
.slice(0, limit - 1)
.concat([s.slice(limit - 1)
.join(delimiter)
])
}
// Negative limit
if (-limit >= s.length) {
return []
}
s.splice(s.length + limit)
return s
} 继续阅读与本文标签相同的文章
-
云服务OpenAPI的7大挑战,架构师如何应对?
2026-05-17栏目: 教程
-
什么是阿里云备案服务号及相关疑问解答 要网站备案的朋友必看!
2026-05-17栏目: 教程
-
《DNS稳定保障系列1--服务双保障“辅助DNS”产品介绍》
2026-05-17栏目: 教程
-
2019年1-8月实现利润前五省份有哪些?
2026-05-17栏目: 教程
-
云栖大会SaaS加速器专场 | 阿里云资深技术专家黄省江:让天下没有难做的SaaS
2026-05-17栏目: 教程
