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

时间:2018-03-01 01:04:58

标签: javascript regex

我有以下内容:

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

结果是desk_Light

我想要desk_light

1 个答案:

答案 0 :(得分:4)

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

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)