我想知道如何在javascript(和最可能的正则表达式)中将字符串转换为pascal大小写字符串。

转换范例:

  • double-barrel =双桶
  • DOUBLE-BARREL =双桶
  • DoUbLE-BaRRel =双桶
  • 双桶=双桶

  • 检查this link以获得有关Pascal Case的更多信息

    最佳答案

    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”之类的词,但通常称为“标题案例”。

    10-08 03:11