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()方法来实现目标。在实际编写代码时,可以根据具体情况选择适合自己的方法。
为你推荐
- 2023-08-22js调用cmd(JS调用CMD实现互动操作)
- 2023-09-20js锚点链接(JS实现页面内跳转)
- 2023-09-18js大转盘(JavaScript大转盘游戏教程)
- 2023-09-16js 首字母小写(javascript 的首字母小写标题:js的首字母小写)
- 2023-08-17js multiple(JavaScript实现多选功能)
- 2023-09-15highlight js(JavaScript代码高亮库 – highlight js)
- 2023-07-20js获取当前时分秒(获取当前时间的JS代码实现)
- 2023-07-13js 多行字符串(用JavaScript实现多行字符串)