在Javascript

时间:2017-06-20 08:58:57

标签: javascript regex

我有一个字符串" Test.1.Value.2.Configuration.3.Enable" ,我想在其中只替换最后一次出现的数字' 3'到' *'。数字可以是任何有效的整数。右行我通过将值拆分为数组并将数组长度为2的值替换为*并重新加入它来实现。想知道我们是否可以使用正则表达式来完成它。

2 个答案:

答案 0 :(得分:3)

是的,很容易:



str = "Test.1.Value.2.Configuration.3.Enable";
newstr = str.replace(/\d+(?=\.[^.]+$)/, '*')
console.log(newstr)




"用星号替换字符串结尾之后的所有数字和一些非句号。"

答案 1 :(得分:0)

const newStr = str.split(".").map((e, i, arr) => i === arr.length - 2 ? "*" : e).join(".");