如何通过JavaScript中的正则表达式将camelCase更改为slug-case(或kebab-case)

时间:2014-07-15 12:30:58

标签: javascript regex string

出于某种原因,this answer我发现(据说)如何在PHP中执行此操作只是给了我错误的匹配。 它似乎添加了破折号,但也用字符串的其余部分的副本替换大写字母,所以我想" abcZxc"变成" abc-zxc",而是把它变成" abd-zxczxc"

这个以及其他一些变化,是我尝试过的,但无法让它发挥作用。

filterGroup = aNiceString;
console.log(filterGroup.replace(/[A-Z]+/g, "-1$'"))

由于

2 个答案:

答案 0 :(得分:21)

尝试以下方法:

var result = "fooBarBaz".replace(/([A-Z])/g, "-$1").toLowerCase(); 
console.log(result);

答案 1 :(得分:2)

var res = yourString.replace(/[A-Z]/g, "-$&").toLowerCase();