问题描述
我正在尝试使用 .replace()
和 REGEX 重命名某种类型的字符串。
-
myCustomClass
->customClass
-
myCustomOption
->customOption
我需要一些实际上可以做到这一点的东西 string.charat(0).toLowerCase() + string.slice(1)
,但使用 REGEX。
所以我正在做这样的事情
var myCustomClass = 'myCustomClass',myCustomOption = 'myCustomOption';
document.body.innerHTML = myCustomClass.replace('my','')
.replace(/([A-Z])/,('$1').toLowerCase() ) + '<br>'
document.body.innerHTML += myCustomOption.replace('my','')
.replace(/([A-Z])/,('$1').toLowerCase() )
结果是 CustomClass
和 CustomOption
,这不是我所期望的。请问我该怎么做?
解决方法
按照建议,这是解决方案:
string.replace(/[A-Z]/,(match) => match.toLowerCase() )
演示:
var myCustomClass = 'myCustomClass',myCustomOption = 'myCustomOption';
document.body.innerHTML = myCustomClass.replace('my','')
.replace(/[A-Z]/,(match) => match.toLowerCase() ) + '<br>'
document.body.innerHTML += myCustomOption.replace('my','')
.replace(/[A-Z]/,(match) => match.toLowerCase() )