我正在尝试捕获输入字符串的所有数字。该字符串还可以包含其他字符,例如字母,所以我不能简单地做[0-9]+
.
我已经尝试过/[0-9]/g
,但这会将所有数字作为数组返回。
您如何捕获或匹配数字的每个实例并作为字符串返回?
我正在尝试捕获输入字符串的所有数字。该字符串还可以包含其他字符,例如字母,所以我不能简单地做[0-9]+
.
我已经尝试过/[0-9]/g
,但这会将所有数字作为数组返回。
您如何捕获或匹配数字的每个实例并作为字符串返回?
只需替换原始字符串中的所有非数字:
var s = "foo 123 bar 456";
var digits = s.replace(/\D+/g, "");
您可以替换所有非数字字符而不是提取digits
:
var str = "some string 22 with digits 2131";
str = str.replace(new RegExp("\D","g"),"");
\D
与 相同[^\d]
。
其他解决方案更好,但要按照您的要求进行操作,您只需加入阵列即可。
var str = "this 1 string has 2 digits";
var result = str.match(/[0-9]+/g).join(''); // 12