今天有同学在问,如何在一个字符串中获取所有的数字。
太简单了,用正则表达式呀~
let zz = /\d+/g ; // 数字的正则,全局查找,需要带后缀 g
let str = "12 abc sdf 13x asdf"; // 字符串
console.info( str.match( zz ) ); // 查找字符串中所有符合正则的内容。
// ["12","13"]
字符串的match 方法,可以根据正则表达式把所有符合要求的内容都选出来。
也可以:
let zz = /\d+/g ; // 数字的正则,全局查找,需要带后缀 g
let str = "12leduo13"; // 字符串
let arr = [];
let num = null ;
while( num = zz.exec(str) ){
arr[ arr.length ] = num[0] ;
console.info(num[0]);
}
正则的 exec 方法可以找出对应的内容,但是一次只能找一个,找不到就返回 null,所以可以用循环去自动查找。
记录一下~加强学习。