猿问

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

我有一个字符串

var numb = "R$ 2000,15"

我想删除最后两个数字和逗号,并 R$使用空格,以获得结果 => 2000

我尝试使用 regex:(?!\d{1,5}),(?:\d{2})并且它需要 result: R$ 2000。所以现在我想用空格删除 R$。

有什么帮助吗?


慕标5832272
浏览 195回答 3
3回答

慕妹3146593

试试这个正则表达式,它应该可以解决问题:/^R\$\s(\d+)((\,\d{2})?)$/要使用它,您可以像这样替换:let result = myNumber.replace(/^R\$\s(\d+)((\,\d{2})?)$/, "$1");请注意,括号之间的每个组都将被您的正则表达式捕获以进行替换,因此如果您想要逗号前的一组数字,则应使用相应的组(在本例中为 1)。另请注意,您不应将正则表达式放在引号之间。

MMMHUHU

如果您愿意,可以通过捕获不同的组然后输出所需的组来这样做。三个捕获组匹配:$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"));

神不在的星期二

试试这个正则表达式: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);它删除所有字母和符号以及数字前面的一个空格和其后面的所有尾随符号、字母和数字并将给出中间数字。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答