我正在尝试创建一个将字符串转换为“ camelCase”格式的函数。该函数的当前版本将在连字符-
之后大写字母,并删除连字符。
这是当前功能:
function camelCase(str) {
return str.replace(/-([a-z])/g, g => {
return g[1].toUpperCase()
})
}
传递给str
参数的字符串除字母字符外,还可以包含单个正斜杠/
和连字符-
。
我尝试了几种我认为可行的正则表达式组合,但是我花了太多时间试图解决这个问题。我该如何更改正则表达式/-([a-z])/g
来删除正斜杠?
// CURRENT OUTPUT
console.log(camelCase("folder/lower-case-with-dash"))
// folder/lowerCaseWithDash
// DESIRED OUTPUT
console.log(camelCase("folder/lower-case-with-dash"))
// folderLowerCaseWithDash
对此我将不胜感激。
答案 0 :(得分:2)
使用包含/
的字符集,以使-
和/
都在开头匹配:
function camelCase(str) {
return str.replace(/[\/-]([a-z])/g, g => {
return g[1].toUpperCase()
})
}
console.log(camelCase("folder/lower-case-with-dash"))