📅  最后修改于: 2023-12-03 15:01:42.223000             🧑  作者: Mango
在Javascript中,我们经常需要从字符串中提取或查找数字。以下介绍一些方法和技巧来实现这一目的。
正则表达式是一种强大的工具,可以帮助我们查找和匹配字符串中的文本。以下是一些使用正则表达式查找数字的示例:
// 查找单个数字
const str = "The price is $19.99";
const match = str.match(/[0-9]+/);
console.log(match[0]); // 输出 "19"
// 查找多个数字
const str = "The order numbers are 1234 and 5678";
const matches = str.match(/[0-9]+/g);
console.log(matches); // 输出 ["1234", "5678"]
在这个例子中,我们使用正则表达式/[0-9]+/
来匹配一个或多个数字。通过使用方法match()
,它将返回一个包含匹配项的数组,如果匹配不到,则返回空数组。
parseInt()
函数将字符串转换为数字另一种方法是使用parseInt()
函数,该函数将字符串转换为整数值。以下是一些示例:
// 将字符串转换为整数
const str = "42";
const num = parseInt(str);
console.log(num); // 输出 42
// 将带有非数字字符的字符串转换为整数
const str = "42 is the answer";
const num = parseInt(str);
console.log(num); // 输出 42
// 将带有小数点的字符串转换为整数
const str = "3.14";
const num = parseInt(str);
console.log(num); // 输出 3
请注意,如果字符串中包含非数字字符,则parseInt()
函数将停止解析并返回已解析的数字。如果字符串开头是一个非数字字符,则返回NaN
(不是一个数字)。
parseFloat()
函数将字符串转换为浮点数如果字符串中包含小数点,则可以使用parseFloat()
函数将其转换为浮点数。以下是一些示例:
// 将字符串转换为浮点数
const str = "3.14";
const num = parseFloat(str);
console.log(num); // 输出 3.14
// 将带有非数字字符的字符串转换为浮点数
const str = "3.14 is pi";
const num = parseFloat(str);
console.log(num); // 输出 3.14
// 将整数字符串转换为浮点数
const str = "42";
const num = parseFloat(str);
console.log(num); // 输出 42.0
请注意,如果字符串开头不是数字,则返回NaN
。
这些方法和技巧可以帮助我们在Javascript中查找和提取字符串中的数字。从正则表达式到parseInt()
和parseFloat()
函数,我们可以选择最适合我们需求的方法。