簡體   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