Javascript按小写字符的第一个实例拆分字符串

Javascript按小写字符的第一个实例拆分字符串,javascript,regex,string,split,Javascript,Regex,String,Split,我想获取Pascal字符串输入,并用连字符将其拆分 "HelloWorld" becomes "hello-world" 我可以做到这一点,没有问题,但是如果有人提供以下内容,我的正则表达式尝试开始崩溃: "FAQ" becomes "f-a-q" 我希望它将FAQ保留为“FAQ”,所以我认为我需要将字符串拆分为小写和大写的所有第一个实例,对吗 我现在的正则表达式是: name.split(/(?=[A-Z])/).join('-').toLowerCase() 您可以替换中间开头的大写字

我想获取Pascal字符串输入,并用连字符将其拆分

"HelloWorld" becomes "hello-world"
我可以做到这一点,没有问题,但是如果有人提供以下内容,我的正则表达式尝试开始崩溃:

"FAQ" becomes "f-a-q"
我希望它将FAQ保留为“FAQ”,所以我认为我需要将字符串拆分为小写和大写的所有第一个实例,对吗

我现在的正则表达式是:

name.split(/(?=[A-Z])/).join('-').toLowerCase()

您可以替换中间开头的大写字母

函数连字符(字符串){
返回字符串.replace(/[^A-Z](?=[A-Z])/g,$&-).toLowerCase();
}
console.log(连字符(“FAQ”);//常见问题
console.log(连字符(“readoffaq”);//阅读常见问题解答

console.log(连字符(“HelloWorld”);//你好,世界
谢谢!这样做更有意义,让我有更多的空间在需要的情况下继续比赛。由于rep的原因,我不能投票支持你的答案,但这确实解决了我上面的问题。你能在上运行正则表达式吗,因为它在notepad++中不起作用。它有什么问题吗?这非常有效。你不知道我花了多少时间试图找到正确的正则表达式模式谢谢!