搜索并将大写转换为小写并插入''-'';在javascript中

搜索并将大写转换为小写并插入''-'';在javascript中,javascript,Javascript,提前感谢,, 我有一个字符串“fileName='CampaignDetail'”。我想将其设置为“CampaignDetail”。这就是将所有大写字母转换为小写,并在大写字母之间插入连字符。如何使用for循环执行此操作 使用split和reduce "CampaignDetail".split(/(?:([A-Z]))/).reduce( (a,b,i) => i == 1 || i % 2 == 0 ? a + b : a + "-" + b ).toLowerCase() //cam

提前感谢,,
我有一个字符串“fileName='CampaignDetail'”。我想将其设置为“CampaignDetail”。这就是将所有大写字母转换为小写,并在大写字母之间插入连字符。如何使用for循环执行此操作

使用
split
reduce

"CampaignDetail".split(/(?:([A-Z]))/).reduce( (a,b,i) => i == 1 || i % 2 == 0 ? a + b : a + "-" + b ).toLowerCase() //campaign-detail
演示

函数到包装(输入)
{
返回input.split(/(?:([A-Z])/).reduce((A,b,i)=>i==1 | | i%2==0?A+b:A+“-”+b);
}

日志(toHypenCase(“活动详细信息”)您可以使用正则表达式执行此操作。试着跟随

let regex=/[A-Z](\s\s)*[A-Z]*/g;
让name='CampaignDetail';
让tempData=name.match(regex);
filename=tempData.reduce((a,b)=>{
返回a.toLowerCase()+'-'+b.toLowerCase();
})
log(文件名)试试看。希望能有帮助

var string=“活动详情”;
字符串=字符串。替换(/([a-z])([a-z])/g,“$1-$2”);
字符串=字符串。替换(/([A-Z])([A-Z][A-Z])/g,'$1-$2')
警报(string.toLowerCase())仅限正则表达式的解决方案:

"CampaignDetailKebabCase".replace(/(.)([A-Z]{1})/g, '$1-$2').toLowerCase();
在这里,我们全局搜索放在任何符号(.)之后的大写字母([A-Z]),并将其替换为相同的任何符号“$1”、破折号“-”,然后替换为相同的大写字母“$2”