我想用js对一段字符串进行裁剪并返回对应的数组,比如我想对一段字符串中连续的3个数字裁剪出来。
例如:
var str = '12d123456f58965';
通过裁剪后得到一个数组为:
arr = [123,456,589];
这该怎样做?我本来想用split去截取发现行不通,有点学艺不精。。。
var str = '12d123456f58965';
function getArr(str) {
var strlen,
arr = [];
strlen = str.length;
for(var i = 0; i < strlen; i += 3){
var tmpstr = Number(str.slice(i,i+3));
if(!isNaN(tmpstr)){
arr.push(tmpstr);
}
}
return arr;
}
var arr = getArr(str);
str.slice(start,stop):从字符串的start位置开始,到stop位置结束,截取字符串,并返回截取到的字符串。
'12d123456f58965'.match(/d{3}/g)
'12d123456f58965'.match(/\w{3}/g)
可以用substr呀。还有,不管任何方法,你都得能确定你的字符串符合一定规律才行。不能随便来一个字符串,如果没有规律可言,你可能就需要对字符串进行处理一下。
var str = '12d123456f58965';
var ret = str.match(/\d{3}/g);