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

标签 javascript regex

我有以下内容:

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

结果是desk_Light

我想要台灯

最佳答案

您可以使用replace() function callbackmatch 作为参数。

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)

关于javascript - 如何将 1 个字母从大写转换为小写,这不是 Javascript 中的第一个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49041113/

相关文章:

javascript - 检测鼠标方向 - JavaScript

javascript - 将工具提示的值发送到 javascript 函数

regex - DFA 与 NFA 引擎 : What is the difference in their capabilities and limitations?

c# - 否定空格、正斜杠和反斜杠的正则表达式

javascript - 我学过 jQuery,我应该回去学 "proper javascript"吗?

javascript - 如何使用 javascript 杀死 linux child_process.spawn?

php - 如何正确使用 JSON 从 php 文件中获取 MYSQL 数据库的行数?

Python- 正则表达式输出最后一次出现 [HTML Scraping]

python - 在 python 中使用 re.findall() 的问题

python - 100% CPU 使用率,正则表达式取决于输入长度