为了账号安全,请及时绑定邮箱和手机立即绑定

如何在逗号后和数字前的字母后剪切字符串

如何在逗号后和数字前的字母后剪切字符串

慕标5832272 2021-12-02 15:48:37
我有一个字符串 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)。另请注意,您不应将正则表达式放在引号之间。


查看完整回答
反对 回复 2021-12-02
?
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"));


查看完整回答
反对 回复 2021-12-02
?
神不在的星期二

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);

它删除所有字母和符号以及数字前面的一个空格

其后面的所有尾随符号、字母和数字

并将给出中间数字。


查看完整回答
反对 回复 2021-12-02
  • 3 回答
  • 0 关注
  • 194 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信