FCC--Spinal Tap Case(单词连接)

来源:互联网 发布:原油数据影响大吗 编辑:程序博客网 时间:2024/06/10 01:47

题目描述:将字符串转换为 spinal case。Spinal case 是 all-lowercase-words-joined-by-dashes 这种形式的,也就是以连字符连接所有小写单词。

例子:spinalCase("This Is Spinal Tap") 应该返回 "this-is-spinal-tap"。
spinalCase("thisIsSpinalTap") 应该返回 "this-is-spinal-tap"。
spinalCase("The_Andy_Griffith_Show") 应该返回 "the-andy-griffith-show"。
spinalCase("Teletubbies say Eh-oh") 应该返回 "teletubbies-say-eh-oh"。

题目解析:

给出四个例子,分别可以看成:空格换成-,大小写中间加-,下划线换成-,空格换成-。全部的例子都要将字符串换成小写。

这里明显用正则会好做很多,两个函数:filter和toLowerCase

function spinalCase(str) {  // "It's such a fine line between stupid, and clever."  // --David St. Hubbins  return str.replace(/\s|_/g,'-').replace(/([a-z])([A-Z])/g,'$1-$2').toLowerCase();}spinalCase('thisIsSpinalTap');

正则表达式分为两段来写,第一段替换掉空格和下划线,第二次在大小写中间加入下划线,$1表示正则匹配到的第一个段,最后将所有字符串转化为小写。

ok!!!

原创粉丝点击