从所有数字和百分比之间的字符串中删除空格(javascript regex)

时间:2018-01-17 16:54:27

标签: javascript regex

我必须删除数字和百分号之间的所有空格。 String也可以包含所有其他符号。应仅在数字和百分比之间删除空格,而不是任何其他符号和百分比。

示例:

str = "test 12 %"; // expected "test 12%"
str = "test 1.2 %"; // expected "test 1.2%"
str = "test 1,2 %   2.5  %"; // expected "test 1,2%   2.5%"
str = " % test 1,2 %   2.5  % something"; // expected " % test 1,2%   2.5% something"

我认为我已设法创建匹配"十进制数字与百分号"的正则表达式,但是,我不知道怎么做"替换此匹配数字中的空格"。

var r = /\(?\d+(?:\.\d+)? ?%\)? */g;

1 个答案:

答案 0 :(得分:2)

代码

See regex in use here

(\d) +(?=%)

替换:$1

用法



const regex = /(\d) +(?=%)/g
const a = ['test 12 %','test 1.2 %','test 1,2 %   2.5  %',' % test 1,2 %   2.5  % something']
const subst = `$1`

a.forEach(function(str) {
  console.log(str.replace(regex, subst))
})




说明

  • (\d)将数字捕获到捕获组1
  • +匹配一个或多个空格
  • (?=%)确定以下内容的正向前瞻是%