HTML5学堂:正则、数组、字符串,是JavaScript语言中让人头痛的一些知识,今天这篇文章我们使用数组字符串、正则两种方法,来实现从一个字符串中提取数字的功能,并将提出出来的数字作为一个数组返回。
将一个字符串中的数字提取出来,再有多个连续的数字组合为一个数组。例如:将hyoga3476H5course75,提取组合成:[3476, 5, 75]
字符串方法的解题思路:从字符串的第一位开始进行检测,查看是否是介于数字之间,如果是的话,则将组接字符串,当没有数字再出现的时候,将组接好的数字字符串,作为一个数组元素添加到数组当中。需要有一个地方进行处理,即如果最后一位是数字,这种情况下,需要进行再次检测。
相关知识点的使用:字符串方面,需要使用到charAt、push方法;正则方面,需要使用到match方法。
var str = 'hyoga3476H5course75';
var arr = [];
var substr = '';
for (var i = 0; i < str.length; i++) {
if (str.charAt(i)>='0' && str.charAt(i)<=9) {
substr += str.charAt(i);
}else{
if (substr!='') {
arr.push(substr);
substr = '';
};
}
};
// 防止最后一位为数字,而上面的for循环无法实现
if (substr!='') {
arr.push(substr);
substr = '';
};
console.log(arr);
var str = 'hyoga3476H5course75';
var reg = /\d+/g;
str = str.match(reg);
console.log(str);