如何将1个字母从大写转换为小写,这不是Javascript中的第一个字母

问题描述 投票:1回答:1

我有以下内容:

var test = "deskLight";
console.log(test.replace(/([a-z])([A-Z])([a-z])/g, "$1_" + "$2".toLowerCase() + "$3" )));

结果是desk_Light

我想要desk_light

javascript regex
1个回答
4
投票

你可以使用以replace()为参数的function callback match

text = 'deskLight'.replace(/([a-z])([A-Z])([a-z])/g, function(match)
    {
        return match[0] + '_' + match[1].toLowerCase() + match[2];
    }
)

console.log(text)

甚至是@RobG更简单的解决方案。

text = 'deskLight'.replace(/(^[a-z]*)(.*$)/,'$1_$2').toLowerCase()

console.log(text)
© www.soinside.com 2019 - 2024. All rights reserved.