--- id: a103376db3ba46b2d50db289 title: Spinal Tap Case challengeType: 5 forumTopicId: 16078 --- ## Description
Convert a string to spinal case. Spinal case is all-lowercase-words-joined-by-dashes.
## Instructions
## Tests
```yml tests: - text: spinalCase("This Is Spinal Tap") should return "this-is-spinal-tap". testString: assert.deepEqual(spinalCase("This Is Spinal Tap"), "this-is-spinal-tap"); - text: spinalCase("thisIsSpinalTap") should return "this-is-spinal-tap". testString: assert.strictEqual(spinalCase('thisIsSpinalTap'), "this-is-spinal-tap"); - text: spinalCase("The_Andy_Griffith_Show") should return "the-andy-griffith-show". testString: assert.strictEqual(spinalCase("The_Andy_Griffith_Show"), "the-andy-griffith-show"); - text: spinalCase("Teletubbies say Eh-oh") should return "teletubbies-say-eh-oh". testString: assert.strictEqual(spinalCase("Teletubbies say Eh-oh"), "teletubbies-say-eh-oh"); - text: spinalCase("AllThe-small Things") should return "all-the-small-things". testString: assert.strictEqual(spinalCase("AllThe-small Things"), "all-the-small-things"); ```
## Challenge Seed
```js function spinalCase(str) { return str; } spinalCase('This Is Spinal Tap'); ```
## Solution
```js function spinalCase(str) { str = str.replace(/([a-z](?=[A-Z]))/g, '$1 '); return str.toLowerCase().replace(/\ |\_/g, '-'); } ```