【FCC】Spinal Tap Case(单词连接

题目:

将字符串转换为 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

代码:

<script type="text/javascript">
	function spinalCase(str) {
		// "It's such a fine line between stupid, and clever."
		return str.replace(/\s|_/g, '-').replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
	}

	spinalCase('thisIsSpinalTap');
</script>

正则表达式分为两段来写,第一段替换掉空格和下划线,第二次在大小写中间加入下划线,$1表示正则匹配到的第一个段,最后将所有字符串转化为小写。
ok!!!
———————
作者:wangmc0827
原文:https://blog.csdn.net/wangmc0827/article/details/72677759

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注