挑战:
将字符串转换为 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"。
答案:
方法 | 描述 |
---|
replace() | 在字符串中查找匹配的子串, 并替换与正则表达式匹配的子串。 |
| |
split() | 把字符串分割为字符串数组。 |
| |
trim() | 去除字符串两边的空白 |
| |
toLowerCase() | 把字符串转换为小写。 |
function spinalCase(str) {
str=str.replace(/_/g," ");var arr=str.split(" ");if( arr.length==1 ){str=str.replace(/([A-Z])/g," $1");}str=str.trim().toLowerCase().replace(/[\s]/g,"-");return str;
}spinalCase('This Is Spinal Tap');
运行结果:
this-is-spinal-tap
在线测试:
字符串连接算法挑战 | w3cschool