我想知道如何将字符串转换为 JavaScript 中的帕斯卡大小写字符串(最有可能是正则表达式)。
转换示例:
- 双管=双管
- DOUBLE-BARREL = 双管
- DoUbLE-BaRRel = 双管
- 双桶=双桶
检查this link有关帕斯卡案例的更多信息
最佳答案
s = s.replace(/(\w)(\w*)/g,
function(g0,g1,g2){return g1.toUpperCase() + g2.toLowerCase();});
正则表达式查找单词(此处使用 \w
定义 - 字母数字和下划线),并将它们分为两组 - 第一个字母和单词的其余部分。然后它使用一个函数作为回调来设置正确的情况。
或者,这也可以工作 - 少一点正则表达式和更多字符串操作:
s = s.replace(/\w+/g,
function(w){return w[0].toUpperCase() + w.slice(1).toLowerCase();});
我应该补充一点,这根本不是帕斯卡大小写,因为你有单词障碍(helloworld
与 hello-world
)。没有它们,即使有字典,这个问题也几乎无法解决。尽管它不处理“FBI”、“the”或“McDonalds”等单词,但更常见的名称是“标题首字母大写”。
关于javascript - 在 Javascript 中将字符串转换为帕斯卡大小写(又名 UpperCamelCase),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4068573/