[英]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.