出于某种原因,我找到的答案(据说)如何在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);