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

How to change camelCase to slug-case (or kabob-case) via regex in JavaScript

本文关键字:slug-case -case kabb camelCase JavaScript 正则表达式      更新时间:2023-09-26

出于某种原因,我找到的答案(据说)如何在php中做到这一点只是给了我错误的匹配。它似乎添加了破折号,但也将大写字母替换为字符串的其余部分的副本,所以我想要"abcZxc"变成"abc-zxc",但它把它变成了"abd-zxczxc"

这个,加上一堆其他的变化,是我试过的,但不能让它工作。

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

谢谢

尝试如下:

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

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

这是另一种分裂成数组的变体,它立即再次连接,这避免了前导-:

let result = "FooBarBaz.".match(/[A-Z][a-z]*/g).join('-').toLowerCase();
console.log(result);