convert string
to snake case
[ replace | regex | trim | toLowerCase ]

Convert string to snake case

Write a function that takes a string and returns a new string that is transformed into snake case.


Snake case

Snake case is a style of writing phrases without spaces, where all letters are converted to lower case and space characters are replaced with an underscore character "_"


Example ...

Enter a string ...

"Jack of all trades" original string

"jack_of_all_trades" snake cased string

The function returns a new string without spaces.

All letters are converted to lower case.

One or more space characters are replaced with an underscore character.

The original string is unchanged.

Screaming snake case is a variaion which uses all uppercase letters, often for constants. For example ...

API_BASE_URL

Strings are a sequence of zero or more characters written inside quotes used to represent text.

Strings may consist of letters, numbers, symbols, words, or sentences.

Strings are immutable, they cannot be changed.

Each character in a string has an index.

The first character will be index 0 the second character will be index 1 and so on.

There are two ways to access an individual character in a string.

charAt() method

const str1 = "abc"; string

str1.charAt(0); character at index 0 → "a"

str1.charAt(1); character at index 1 → "b"

str1.charAt(2); character at index 2 → "c"

str1.charAt(3); character at index 3 → "" index not found

Alternatively use at() or slice() methods

bracket notation []

const str2 = "abc"; string

str2[0]; character at index 0 → "a"

str2[1]; character at index 1 → "b"

str2[2]; character at index 2 → "c"

str2[3]; character at index 3 → undefined index not found


Numbers are used to represent both integer and floating-point values.

Numbers are most commonly expressed in literal forms like 255 or 3.14159 ↴

let num1 = 5; → number

let num2 = 2.5; → number

let num3 = num1 + num2;

console.log(num3); returns ↴

7.5 → number


Convert string to snake case using ↴

replace() method → returns a new string with the value(s) replaced.

trim() method → removes whitespace from both ends of the string and returns a new string, without modifying the original string.

toLowerCase() method → returns the value of the string converted to lower case.

Regular Expression → patterns used to match character combinations in strings.


trim() method removes whitespace from both ends of a string and returns a new string, without modifying the original string.

const str3 = " Hello World "; → string with leading and trailing whitespace

str3.trim(); returns ↴

"Hello World" → string without whitespace


toLowerCase() method returns a new string with all letters converted to lower case. The original string is unchanged.

const str4 = "hELlo wORLd";

str4.toLowerCase(); returns ↴

"hello world" → lower case


Regular expressions are patterns used to match character combinations in strings.

The Regular Expression /\s+/ matches one or more whitespace characters.

\s matches any whitespace character (spaces, tabs, line breaks).

+ quantifier indicates that one or more occurrences of the preceding element (whitespace in this case) should be matched.

As a result, this regex will match any sequence of whitespace characters, effectively splitting the string at each space.

This means that multiple spaces between words will not create empty entries in the resulting array.

split(/\s+/) will split the string into an array of words.

const str5 = "A storm in a teacup"; → string

str5.split(/\s+/); returns ↴

["A", "storm", "in", "a", "teacup"] → array


replace() method searches a string for a value or a regular expression and returns a new string with the value replaced.

If pattern is a string, only the first occurrence will be replaced. The original string is unchanged.

syntax

string.replace(pattern, replacement)

const str6 = "hello world";

str6.replace("hello", "HELLO"); replace "hello" with "HELLO"

returns ↴

"HELLO world"

const str7 = "ABCDEF";

str7.replace("B", ""); replace "B" with "" empty string

returns ↴

"ACDEF""B" removed from string


Initialize a variable to hold the string to tranform to snake case.

const string1 = "jack of all trades"; → user input


Define a function toSnakeCase to tranform a string into snake case.

function toSnakeCase(str) {}

The function takes a string as input str and returns a new string that is transformed into snake case. The original string remains unchanged.

Trim whitespace from both ends of the string str

str.trim()

Convert the string to lower case.

.toLowerCase()

The regular expression /\s+/ matches one or more whitespace characters, effectively handling multiple spaces between words.

This means that multiple spaces between words will not create empty strings in the array.

Replace one or more spaces with a single underscore "_" character.

.replace(/\s+/g, "_")


Call the function with ↴

toSnakeCase(string1);


Convert string to snake case.

const string1 = "Jack of all trades";

function toSnakeCase(str) {

return str.trim().toLowerCase().replace(/\s+/g, "_");

}

call function

toSnakeCase(string1); returns ↴

"jack_of_all_trades"

Convert string to snake case