提取数字——字符串、正则面试题

时间:2022-05-03
本文章向大家介绍提取数字——字符串、正则面试题,主要内容包括提取数字——字符串、正则面试题、提取字符串中的数组、题目剖析、字符串方法 - 提取字符串中的数组、正则方法 - 提取字符串中的数组、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

提取数字——字符串、正则面试题

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);