在 JavaScript 中从字符串中提取数字
在 JavaScript 中,可以通过多种方式实现从字符串中检索数字。让我们考虑一个场景,您有一个像“#box2”这样的字符串,需要提取数字部分,在本例中为“2”。
尝试失败
正如问题中提到的,使用以下代码将不起作用:
var thenum = thestring.replace(/(^.+)(\w\d+\w)(.+$)/i, '');
此代码旨在捕获后跟的单词字符数字和另一个单词字符,但它不会从结果中删除任何非数字。
解决方案
对于这个特定示例,正确的代码是:
var thenum = thestring.replace(/^\D+/g, '');
此代码将所有前导非数字(不是数字的字符)替换为空字符串,留下number.
一般情况
一般情况下,您可以使用以下代码从字符串中提取数字:
thenum = "foo3bar5".match(/\d+/)[0];
此代码使用正则表达式来搜索字符串中的一个或多个数字,并将第一个匹配项作为string.
奖励:正则表达式生成器
为了您的方便,有一些在线工具可以帮助您生成正则表达式。其中一个工具是“RegExp Generator”(在提供的代码示例中链接)。
以上是如何在 JavaScript 中高效地从字符串中提取数字?的详细内容。更多信息请关注PHP中文网其他相关文章!