我有一个字符串 var numb = "R$ 2000,15" 我想删除最后两个数字和逗号,并 R$使用空格,以获得结果 => 2000。我尝试使用 regex:(?!\d{1,5}),(?:\d{2})并且它需要 result: R$ 2000。所以现在我想用空格删除 R$。有什么帮助吗?
3 回答
慕妹3146593
TA贡献1820条经验 获得超9个赞
试试这个正则表达式,它应该可以解决问题:
/^R\$\s(\d+)((\,\d{2})?)$/
要使用它,您可以像这样替换:
let result = myNumber.replace(/^R\$\s(\d+)((\,\d{2})?)$/, "$1");
请注意,括号之间的每个组都将被您的正则表达式捕获以进行替换,因此如果您想要逗号前的一组数字,则应使用相应的组(在本例中为 1)。另请注意,您不应将正则表达式放在引号之间。
MMMHUHU
TA贡献1834条经验 获得超8个赞
如果您愿意,可以通过捕获不同的组然后输出所需的组来这样做。
三个捕获组匹配:
$1 = "R$ "
$2 =任何东西
$3 = ",NN"(其中 NN 是两个数字)
const num = "R$ 2000,15";
const exp = new RegExp(/^(R\$\s)(.*)(,\d{2})$/);
document.write(num.replace(exp, "$2"));
神不在的星期二
TA贡献1963条经验 获得超6个赞
试试这个正则表达式:
var numb = "R$ 2000,15"
numb = numb.replace(/([A-Za-z]+\W+\s{1})([0-9]*)\W+[a-zA-Z0-9]*/, "$2");
console.log(numb);
它删除所有字母和符号以及数字前面的一个空格
和
其后面的所有尾随符号、字母和数字
并将给出中间数字。
添加回答
举报
0/150
提交
取消