首页 > 代码编程 > 前端开发 > js从字符串中提取数字(获取字符串中的数字——JS实用技巧)

js从字符串中提取数字(获取字符串中的数字——JS实用技巧)

2023-06-26 前端开发 31 ℃ 0 评论

JS实用技巧:从字符串中提取数字

在编写JavaScript代码时,我们不可避免地需要从字符串中提取数字。可能是要将字符串转换成数字进行计算,也可能是要从字符串中获取数量等信息。本文将介绍一些JS实用技巧,帮助你轻松从字符串中提取数字。

使用parseInt()方法

parseInt()方法是JavaScript的内置方法之一,在将字符串转换成数字时非常实用。该方法的基本语法如下:

parseInt(string, radix)

其中,参数“string”表示需要进行转换的字符串,而参数“radix”表示转换的进制数,默认为十进制。下面是一个简单的例子:

let str = "123";

let num = parseInt(str);

console.log(num); // 123

在上面的代码中,我们使用parseInt()方法将字符串“123”转换成了数字123。如果要将字符串转换成其他进制的数字,只需将基数作为第二个参数传入即可。例如:

let str = "101010";

let num = parseInt(str, 2);

console.log(num); // 42

在上面的代码中,我们将“101010”这个二进制的字符串转换成了十进制的数字42。

使用parseFloat()方法

与parseInt()方法类似,parseFloat()方法也是将字符串转换成数字的实用工具。不同之处在于,parseFloat()可以将包含小数点的字符串转换成浮点数,而parseInt()只能转换成整数。其基本语法如下:

parseFloat(string)

下面是一个简单的例子:

let str = "3.14";

let num = parseFloat(str);

console.log(num); // 3.14

除了将浮点数格式的字符串转换成数字,parseFloat()方法还可以将科学计数法表示的字符串转换成数字。例如:

let str = "9.81e-2";

let num = parseFloat(str);

console.log(num); // 0.0981

使用正则表达式提取数字

除了使用内置的parseInt()和parseFloat()方法外,还可以使用正则表达式来从字符串中提取数字。常见的用法是使用/\d+/正则表达式,其中“\d”表示匹配数字,而“+”表示匹配一次或多次。下面是一个简单的例子:

let str = "I have 2 apples and 3 oranges";

let nums = str.match(/\d+/g);

console.log(nums); // ['2', '3']

在上面的代码中,我们使用match()方法和正则表达式/\d+/从字符串中提取了所有的数字,并以数组的形式返回了结果。

如果在字符串中需要提取小数,则可以使用/\d+(\.\d+)?/的正则表达式。其中,括号内的“\.\d+”表示匹配小数点和后面的数字,而问号“?”表示匹配0次或1次。下面是一个例子:

let str = "PI is approximately 3.14159";

let nums = str.match(/\d+(\.\d+)?/g);

console.log(nums); // ['3.14159']

使用split()方法

除了上述方法外,还可以使用JavaScript的split()方法从字符串中提取数字。该方法可以将一个字符串分割成若干子字符串,并以数组的形式返回结果。我们可以将非数字的字符作为分隔符,然后筛选出数字部分。下面是一个例子:

let str = "There are 12 apples and 3 oranges";

let arr = str.split(/[^0-9\.]+/);

let nums = arr.filter(num => num !== "").map(num => parseFloat(num));

console.log(nums); // [12, 3]

在上面的代码中,我们使用正则表达式/[^0-9\.]+/将非数字和非小数点的字符作为分隔符,得到了一个数组。接着,我们使用filter()方法和map()方法筛选出数字,并将结果以数组的形式返回。

总结

本文介绍了一些JS实用技巧,帮助你从字符串中提取数字。我们可以使用内置的parseInt()和parseFloat()方法,也可以使用正则表达式和split()方法来实现目标。在实际编写代码时,可以根据具体情况选择适合自己的方法。

炮渣日记