我有一个字符串" Test.1.Value.2.Configuration.3.Enable" ,我想在其中只替换最后一次出现的数字' 3'到' *'。数字可以是任何有效的整数。右行我通过将值拆分为数组并将数组长度为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(".");