繁体   English   中英

正则表达式:捕获字符串中的所有数字,并作为新的数字字符串返回

[英]Regex: Capturing all digits in a string, and returning as a new string of digits

我试图捕获输入字符串的所有数字。 字符串也可以包含其他字符,如字母,所以我不能简单地做[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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM