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"