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

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

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

原文发布于微信公众号 - HTML5学堂(h5course-com)

原文发表时间:2015-10-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏强仔仔

Java基础知识-基本数据类型相互转型

这是我第一次系统性的总结java这门语言的基础知识用法,因本人经验有限,所以在总结的过程中如果有错误或者有歧义等等之类的问题,都可以联系我QQ:20801753...

1888
来自专栏desperate633

Python爬虫之正则表达式入门正则表达式语法正则表达式实例ReMatch对象贪婪匹配和最小匹配

Re库是Python的标准库,主要用于字符串匹配 调用方式: import re

471
来自专栏WD学习记录

html5学习笔记(二)

1. min、max、step属性用于包含数字或日期的input类型规定限定(约束)。

461
来自专栏用户2442861的专栏

二分查找

版权所有,转载请注明出处,谢谢!http://blog.csdn.net/walkinginthewind/article/details/8937978

714
来自专栏行者常至

001.python科学计算库numpy(上)

版权声明:本文为博主原创文章,允许转载,请标明出处。 https://blog.csdn.net/qwdafedv/article/deta...

542
来自专栏GAN&CV

python lambda表达式的介绍和使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_25737169/article/d...

601
来自专栏Vamei实验室

Python进阶05 循环设计

在“循环”一节,我们已经讨论了Python基本的循环语法。这一节,我们将接触更加灵活的循环方式。 range() 在Python中,for循环后的in跟随一个序...

1829
来自专栏nummy

numpy入门

numpy中最主要的对象是同质数组array,也就是说数组中的元素类型都是一样的。数组的维度也称之为axis,axis的的个数称之为秩rank。

662
来自专栏kevindroid

LeetCode3. Longest Substring Without Repeating Characters

1293
来自专栏King_3的技术专栏

leetcode-151-翻转字符串里的单词

1、这道题给定一个字符串s,相当于一个英文句子,要求把这个句子中的单词反转一下,后面的要放在前面,前面放在后面。

821

扫码关注云+社区