Spinal Tap Case
将字符串转换为 spinal case。Spinal case 是 all-lowercase-words-joined-by-dashes 这种形式的,也就是以连字符连接所有小写单词。
如果你被卡住了,记得开大招 Read-Search-Ask。尝试与他人结伴编程、编写你自己的代码。
这是一些对你有帮助的资源:
思路:
"thisIsSpinalTap"这个字符串比较难处理,我利用/[a-z][A-Z]/找出它然后给他中间添加'-';
知识点:
(1)String.replace()方法返回一个由替换值替换一些或所有匹配的模式后的新字符串;
(2)RegExp构造函数创建了一个正则表达式对象,用于将文本与一个模式匹配。
代码:
1 function spinalCase(str) { 2 function upperToHyphenLower(match) { 3 var arr = match.split(''); 4 return arr.join('-'); 5 6 } 7 str = str.replace(/[a-z][A-Z]/g, upperToHyphenLower); 8 str = str.replace(/\s/g, '-'); 9 str = str.replace(/[_]/g, '-'); 10 11 str = str.toLowerCase(); 12 return str; 13 14 } 15 spinalCase("thisIsSpinalTap");