在JavaScript中从字符串返回整数
所以我有下面的字符串在JavaScript中从字符串返回整数,javascript,regex,Javascript,Regex,所以我有下面的字符串 var str = "Ana has 27 apples"; 是否有任何函数只能将str中的数字27作为整数返回 我在这里找到了一条关于类似这样的东西的老线索,但它是关于Java的。然而,这让我陷入了困境 我继续试着玩这个,但没有像我预期的那样。。 这是我来这里之前尝试的最后一个表达: var str=“安娜有27个苹果”; var regex=/([0-9])\d+/; var-ret=str.match(regex); 控制台日志(ret)给你: match(/\d
var str = "Ana has 27 apples";
是否有任何函数只能将str
中的数字27作为整数返回
我在这里找到了一条关于类似这样的东西的老线索,但它是关于Java的。然而,这让我陷入了困境
我继续试着玩这个,但没有像我预期的那样。。
这是我来这里之前尝试的最后一个表达:
var str=“安娜有27个苹果”;
var regex=/([0-9])\d+/;
var-ret=str.match(regex);
控制台日志(ret)代码>给你:
match(/\d+/)[0]
regex将帮助您获取数字作为字符串,然后使用获取整数
检查以下工作示例:
var str=“安娜有27个苹果”;
var num=str.match(/\d+/)[0];
log(parseInt(num))代码>给你:
match(/\d+/)[0]
regex将帮助您获取数字作为字符串,然后使用获取整数
检查以下工作示例:
var str=“安娜有27个苹果”;
var num=str.match(/\d+/)[0];
log(parseInt(num))
您可以使用parseInt
将数字字符串转换为数字
const str=“安娜有27个苹果”;
const num=str.match(/\d+/)[0];
log(parseInt(num,10))
您可以使用parseInt
将数字字符串转换为数字
const str=“安娜有27个苹果”;
const num=str.match(/\d+/)[0];
log(parseInt(num,10))
在REGEXP上添加g
,以进行全局匹配
var regex = /([0-9])\d+/g;
希望这有帮助:>
var str=“安娜有27个苹果”;
var regex=/([0-9])\d+/g;
var-ret=str.match(regex);
console.log(ret)
在REGEXP上添加g
,以进行全局匹配
var regex = /([0-9])\d+/g;
希望这有帮助:>
var str=“安娜有27个苹果”;
var regex=/([0-9])\d+/g;
var-ret=str.match(regex);
console.log(ret)
它返回27,2,但我不想返回2
有关以下内容,请参阅文档:
它将返回一个数组,其中包含作为第一个元素的整个匹配字符串,后跟括号中捕获的任何结果
因此,27
是整个匹配,2
来自捕获组[0-9]
您可能希望改为/(\d+)/
(然后使用ret[1]
从数组中提取匹配项)
我绝对不想把它当作字符串
这就是parseInt
,parseFloat
和的用途
它返回27,2,但我不想返回2
有关以下内容,请参阅文档:
它将返回一个数组,其中包含作为第一个元素的整个匹配字符串,后跟括号中捕获的任何结果
因此,27
是整个匹配,2
来自捕获组[0-9]
您可能希望改为/(\d+)/
(然后使用ret[1]
从数组中提取匹配项)
我绝对不想把它当作字符串
这就是parseInt
,parseFloat
的目的。与其他答案提供的方法不同的是,只需从字符串中删除所有非数字字符,剩下的将是任何数字
function numericOnly(str) {
return parseInt(str.replace(/\D+/g,''));
}
请注意,这仅在您知道字符串中只有一个数字时才有用。一些示例结果:
console.log(numericOnly('Ana has 27 apples')); // 27
console.log(numericOnly('Ana has 27 apples and 42 oranges')); //2742
console.log(numericOnly('Ana has no apples')); // NaN
与其他答案提供的方法不同的是,只需从字符串中删除所有非数字字符,那么剩下的将是任何数字
function numericOnly(str) {
return parseInt(str.replace(/\D+/g,''));
}
请注意,这仅在您知道字符串中只有一个数字时才有用。一些示例结果:
console.log(numericOnly('Ana has 27 apples')); // 27
console.log(numericOnly('Ana has 27 apples and 42 oranges')); //2742
console.log(numericOnly('Ana has no apples')); // NaN
只需修改代码,如下所示
你只能得到27分
var str = "Ana has 27 apples";
var regex = /\d+/;
var ret = str.match(regex);
console.log(ret);
只需修改代码,如下所示
你只能得到27分
var str = "Ana has 27 apples";
var regex = /\d+/;
var ret = str.match(regex);
console.log(ret);
只需执行/(\d+)/g
,即可返回所有整数分组
您只需执行/(\d+)/g
即可返回所有整数分组
如果要从字符串中提取字符串并将其转换为数值,必须先提取它,然后再转换它——这是没有办法的。该功能可以封装在一个函数中,因此主线代码不必考虑它。现在你正在捕获两个整型块,但我不知道你为什么要这么做。你得到的不是一个字符串,而是一个包含两个值的数组。说明:“如果字符串与表达式匹配,它将返回一个数组,其中包含整个匹配字符串作为第一个元素,后跟括号中捕获的任何结果。如果没有匹配项,则返回null。”/\d+//g
将匹配字符串中的多组数字并返回结果,同样在数组中-请参阅。如果需要,您可以使用parseInt转换每个字符串。如果您想从字符串中提取字符串并将其转换为数值,您必须先提取它,然后再转换它--这是没有办法的。该功能可以封装在一个函数中,因此主线代码不必考虑它。现在你正在捕获两个整型块,但我不知道你为什么要这么做。你得到的不是一个字符串,而是一个包含两个值的数组。说明:“如果字符串与表达式匹配,它将返回一个数组,其中包含整个匹配字符串作为第一个元素,后跟括号中捕获的任何结果。如果没有匹配项,则返回null。”/\d+//g
将匹配字符串中的多组数字并返回结果,同样在数组中-请参阅。如果需要,您可以使用parseInt转换每一个。