javascript - 在 Javascript 中将字符串转换为帕斯卡大小写(又名 UpperCamelCase)

标签 javascript regex case

我想知道如何将字符串转换为 JavaScript 中的帕斯卡大小写字符串(最有可能是正则表达式)。

转换示例:

  • 双管=双管
  • DOUBLE-BARREL = 双管
  • DoUbLE-BaRRel = 双管
  • 双桶=双桶

检查this link有关帕斯卡案例的更多信息

最佳答案

s = s.replace(/(\w)(\w*)/g,
        function(g0,g1,g2){return g1.toUpperCase() + g2.toLowerCase();});

正则表达式查找单词(此处使用 \w 定义 - 字母数字和下划线),并将它们分为两组 - 第一个字母和单词的其余部分。然后它使用一个函数作为回调来设置正确的情况。

示例:http://jsbin.com/uvase

或者,这也可以工作 - 少一点正则表达式和更多字符串操作:

s = s.replace(/\w+/g,
        function(w){return w[0].toUpperCase() + w.slice(1).toLowerCase();});

我应该补充一点,这根本不是帕斯卡大小写,因为你有单词障碍(helloworldhello-world)。没有它们,即使有字典,这个问题也几乎无法解决。尽管它不处理“FBI”、“the”或“McDonalds”等单词,但更常见的名称是“标题首字母大写”。

关于javascript - 在 Javascript 中将字符串转换为帕斯卡大小写(又名 UpperCamelCase),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4068573/

相关文章:

javascript - webpack ReactJS : Unexpected token at this. 设置状态

javascript - 我可以通过使用 javascript 检查的多个复选框吗

javascript - 如何在javascript中为最少一个字符编写正则表达式?

匹配 'password' 和 'admin' 的 Jquery 验证不起作用

c - switch case 循环中的函数

javascript - 使用 JavaScript 进行流式传输

php - 如何使用他们的 API 获取 Facebook 上共同好友的列表?

正则表达式匹配不包含任何超过 10 个字符的单词的字符串?

sql-server - Row_Number() 使用 ORDER BY CASE 时的 CTE 性能

sql-server - 用于带有和或条件的表的案例陈述?