gpt4 book ai didi

javascript - 在字符串中放置破折号

转载 作者:行者123 更新时间:2023-11-30 09:42:17 25 4
gpt4 key购买 nike

function dashes(str) {
str = str.replace(/_/g,' ').replace(/\s+/g,"-").toLowerCase();
return str;
}

//test cases
dashes("thisCakeIsDelicious");
dashes("TheBig cat was Boastful");

所需的输出分别是:“this-cake-is-delicious”和“the-big-cat-was-boastful”。我如何在“TheBig”之间放置一个空格而不与“Boastful”之前的空格相矛盾。我已经尝试过正则表达式特定的大写字母,但正如您所见,Big and Boastful 以 B 开头。

最佳答案

这应该行得通,但我不确定要求,所以我决定按单词而不是字母划分(所以 LLLLie 将导致 llllie,而不是l-l-l-lie)

([a-z]+)([A-Z]{1})|(\s)

匹配:

  • ([a-z]+):1个或多个小写字母
  • ([A-Z]{1}):1个大写字母
  • (\s+):一个或多个空白字符(等于[\r\n\t\f\v ])

var dasher = function(str) {
return str
.trim()
.replace(/([a-z]+)([A-Z]{1})|(\s+)/g, '$1-$2')
.toLowerCase();
}

console.log(dasher('thisCakeIsDelicious'));
console.log(dasher('TheBig cat was Boastful'));
console.log(dasher('The cakeIsA LLLLLie'));
console.log(dasher(' JeremySpoke inClass Today'));

关于javascript - 在字符串中放置破折号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40580609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com