题目
将字符串转换为 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"
代码
function spinalCase(str) {
// "It's such a fine line between stupid, and clever."
// --David St. Hubbins
var array = [];
if(str[0].match(/[a-z]/)) {
str = str[0].toUpperCase() + str.substr(1,str.length);
array = str.match(/[A-Z][a-z]+/g);
str = array.join("-").toLowerCase();
return str;
}
else {
array = str.match(/[A-Za-z]+/g);
str = array.join("-").toLowerCase();
return str;
}
}
spinalCase('thisIsSpinalTap');