簡體   English   中英

如何在 javascript 中使用正則表達式刪除特定字母

[英]How to remove specific letters using regex in javascript

var cartstring = "27,00 - R"

如何僅使用正則表達式(不允許使用 slice 等)刪除空格和“-”和“R”? 我需要創建都應等於“27,00”的字符串 cartstring1 和 cartstring2,首先刪除空格和“-”和“R”,然后只允許使用數字和“,”。

cartstring1 = cartstring.replace(/\s/g, "");
cartstring2 = cartstring.replace(/\D/g, "");

請幫助我修改這些正則表達式以獲得有效代碼。 我試圖閱讀有關正則表達式的內容,但仍然不太明白。
非常感謝你提前。

您可以只捕獲您對數字和逗號感興趣的內容:

 let re = /[\d,]+/g let result = "27,00 - R".match(re) console.log(result)

您可以對要刪除的字符進行分組:

 var cartstring = "27,00 - R" let res = cartstring.replace(/(\s|-|R)/g, "") console.log(res)

或者,用空格分隔字符串並獲取第一項:

 var cartstring = "27,00 - R" let res = cartstring.split(" ")[0] console.log(res)

您正在使用 2 個替換,一個替換所有空白字符\s ,另一個替換所有非數字\D ,但請注意\D也與\s匹配,因此您可以省略第一個調用。

使用\D還將刪除您想要保留的逗號,因此您可以在單個替換中使用[^\d,]+匹配除數字或逗號以外的所有字符:

 var cartstring = "27,00 - R"; console.log(cartstring.replace(/[^\d,]+/g, ''));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM