×

js应用:介绍“提取字符串中的数字”的几种方法

作者:Terry2022.09.21来源:Web前端之家浏览:7560评论:0
关键词:js

js应用:介绍“提取字符串中的数字”的几种方法。我们总结了下一共有三种方法:

  • 直接用parseFloat()函数

  • 使用正则表达式将数字的字符删除掉

  • 使用字符串的match方法

接下来,我们一一解析下,走起吧!

前面带数字,后面非数字,可以直接用parseFloat()函数

我们先了解下parseFloat()函数。

JavaScript parseFloat() 函数

定义和用法

parseFloat() 函数可解析一个字符串,并返回一个浮点数。

该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。

语法

parseFloat(string)

参数描述
string必需。要被解析的字符串。

提示和注释

注意: 字符串中只返回第一个数字。

注意: 开头和结尾的空格是允许的。

注意: 如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。

实例

var num1 = parseFloat("5.21元"); //num1 : 5.21

使用正则表达式将数字的字符删除掉

像"你好2022年"这样字符串中只含有一个整型数值的字符串,直接使用正则表达式将数字的字符删除掉就行。来个实例说明下:

var str1 = "你好2021年";
var num2 = str1.replace(/[^\d]/g, " "); 

//num2 : 2021

使用字符串的match方法

match定义和用法

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

注意: match() 方法将检索字符串 String Object,以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。

实例

var str2 = "89.5+7*5-9/3.0+8.5";
var num3 = str2.match(/\d+(\.\d+)?/g);
console.log(num3); // ["89.5", "7", "5", "9", "3.0", "8.5"]
var num4 = str2.match(/[^\d\.]/g);
console.log(num4); // ["+", "*", "-", "/", "+"]

您的支持是我们创作的动力!
温馨提示:本文作者系Terry ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://www.jiangweishan.com/article/jsarrt2020921a1.html

网友评论文明上网理性发言 已有0人参与

发表评论: