📅  最后修改于: 2023-12-03 15:21:57.275000             🧑  作者: Mango
在处理字符串的过程中,有时需要从字符串中提取出数字,这在处理表单输入、爬虫数据等场景中非常常见。下面介绍几种简单易懂的方法。
parseInt()方法能将字符串转为整数,但是需要传递一个参数:将要被解析的字符串。如果字符串的第一个字符不能被转换为数字,则返回 NaN。
let str = "123abc";
let num = parseInt(str); // num === 123
parseFloat()方法也是用于将字符串转为数字,但是它能够解析浮点数。同样需要传递一个参数:将要被解析的字符串。如果无法转换则返回 NaN。
let str = "3.14";
let num = parseFloat(str); // num === 3.14
正则表达式是一种强大的字符串处理方法,可以使用正则表达式匹配出数字,然后再将其提取出来。
let str = "Age: 20, Score: 88";
let pattern = /\d+/g;
let nums = str.match(pattern); // nums === ["20", "88"]
上述代码中,我们使用 /\d+/g 表示匹配字符串中的数字。加入了 g 标记,表示查找所有匹配项,而不是查找第一个匹配项。
要将字符串拆分为数字,可以使用 split() 方法。该方法会将字符串拆分为数组,使得我们可以直接访问数字。
let str = "1,2,3,4,5";
let nums = str.split(",").map(num => parseInt(num)); // nums === [1, 2, 3, 4, 5]
上述代码中,我们使用 "," 作为分隔符,然后使用 map() 方法将数组中的字符串转换为数字。
如果我们只需要将字符串转换为数字,可以使用 Number() 函数。
let str = "123";
let num = Number(str); // num === 123
需要注意的是,如果字符串中包含非数字字符,则返回 NaN。
从字符串中提取数字是 JavaScript 开发中常见的任务,上述介绍的五种方法都可以实现该功能,开发者可以根据实际情况选择合适的方法。