JavaScript String Methods

Master string manipulation with substring, slice, replace, split, and common text operations.

TL;DR

  1. 01Use slice() and substring() to extract portions of strings.
  2. 02Use replace() and replaceAll() to substitute text inside strings.
  3. 03Use split() and join() to convert between strings and arrays.

Tips

  1. 01Use includes() instead of indexOf() !== -1 to write cleaner, more readable boolean search checks on strings.
  2. 02Use localeCompare() instead of comparison operators when sorting strings containing accented characters to ensure correct alphabetical ordering.

Warnings

  1. 01Avoid using the deprecated substr() method because it is not supported in some modern environments and libraries.
  2. 02Remember that JavaScript strings are immutable, meaning methods like trim() and replace() always return new string values.

Extracting Substrings

    slice()

    Extracts a section of a string and returns it as a new string.

    const text = "Hello World";
    const res = text.slice(0, 5); // "Hello"
    const word = text.slice(-5);  // "World"
    substring()

    Extracts characters between two indices, treating negative index numbers as zero.

    const text = "Hello";
    const res = text.substring(1, 4); // "ell"
    substr()

    Extracts a substring starting at an index for a specified character length.

    const text = "Hello";
    const res = text.substr(1, 3); // "ell"

Finding and Checking

    indexOf()

    Returns the index of the first occurrence of a specified substring.

    const text = "hello world";
    text.indexOf("world"); // 6
    text.indexOf("xyz");   // -1
    includes()

    Performs a case-sensitive search to determine if a substring exists.

    const text = "hello world";
    text.includes("world"); // true
    startsWith()

    Checks if a string begins with the characters of a specified string.

    const text = "hello";
    text.startsWith("he"); // true
    search()

    Executes a regular expression search and returns the first matching index.

    const text = "hello123";
    text.search(/\d+/); // 5

Replace and Transform

    replace()

    Replaces the first match of a substring or regular expression pattern.

    const text = "hello world";
    text.replace("world", "there"); // "hello there"
    replaceAll()

    Replaces all occurrences of a literal substring or global regex pattern.

    const text = "hello hello";
    text.replaceAll("hello", "hi"); // "hi hi"
    Case conversion

    Transforms all characters in a string to uppercase or lowercase forms.

    const text = "Hello";
    text.toUpperCase(); // "HELLO"
    text.toLowerCase(); // "hello"
    Replace callback

    Uses a replacement function to compute custom replacements for each match.

    const text = "hello world";
    const title = text.replace(
      /\b\w/g,
      ch => ch.toUpperCase()
    );
    // "Hello World"

Split and Join

    split()

    Splits a string into an array of substrings using a separator.

    const text = "a,b,c";
    text.split(","); // ["a", "b", "c"]
    join()

    Concatenates all elements of an array into a single string separator.

    ["a", "b", "c"].join(","); // "a,b,c"
    split limit

    Truncates the resulting array to a specified maximum number of elements.

    const text = "a,b,c,d";
    text.split(",", 2); // ["a", "b"]
    regex split

    Splits a string using a regular expression to match multiple separators.

    const text = "one, two; three";
    text.split(/[,;]\s*/); // ["one", "two", "three"]

Trimming and Padding

    trim()

    Removes whitespace characters from both the beginning and end of strings.

    const text = "  hello  ";
    text.trim(); // "hello"
    trimStart()

    Removes whitespace characters only from the beginning of a string.

    const text = "  hello";
    text.trimStart(); // "hello"
    padStart()

    Pads the current string from the start with a given fill character.

    const text = "5";
    text.padStart(3, "0"); // "005"
    repeat()

    Returns a new string containing the specified number of concatenated copies.

    const text = "-";
    text.repeat(10); // "----------"

In Practice

FAQ