Replacing substrings in JavaScript is a common and useful task that can be done with simple methods and regular expressions. In this post, you will learn how to use the replace
and replaceAll
methods to replace substrings in JavaScript. You will also learn how to use regular expressions to perform more advanced and flexible replacements.
A substring is a part of a string that can be extracted using a start and end index. For example, in the string "Hello world"
, the substring "world"
starts at index 6 and ends at index 10.
You may need to replace substrings in JavaScript for various reasons, such as:
replace
Method?The easiest way to replace a substring in JavaScript is to use the replace
method of the string object. The replace
method takes two arguments: the search value and the replace value. The search value can be either a string or a regular expression. The replace value can be either a string or a function that returns a string.
The replace
method returns a new string with the first occurrence of the search value replaced by the replace value. For example:
let originalString = "The color of the sky changes throughout the day.";
let newString = originalString.replace("color", "colour");
console.log(newString); // "The colour of the sky changes throughout the day."
replaceAll
MethodIf you want to replace all occurrences of a substring in JavaScript, you can use the replaceAll
method instead of the replace
method. The replaceAll
method works similarly to the replace
method, but it replaces every match of the search value. For example:
let originalString = "The color of the sky changes throughout the day, and sometimes the color of the clouds creates a beautiful contrast.";
let newString = originalString.replaceAll("color", "colour");
console.log(newString); // "The colour of the sky changes throughout the day, and sometimes the colour of the clouds creates a beautiful contrast."
Alternatively, you can use a regular expression with the global flag (g
) as the search value in the replace
method. This will also replace all matches of the search value. For example:
let originalString = "The color of the sky changes throughout the day, and sometimes the color of the clouds creates a beautiful contrast.";
let newString = originalString.replace(/color/g, "colour");
console.log(newString); // "The colour of the sky changes throughout the day, and sometimes the colour of the clouds creates a beautiful contrast."
Regular expressions are patterns that can be used to match or search for strings or substrings. They can be very useful when you want to perform more complex or flexible replacements.
For example, suppose you want to replace all occurrences of "JS"
with "JavaScript"
in a string, but only if they are not part of another word. You can use a regular expression with word boundaries (\b
) to achieve this:
let originalString = "I love JS! JS is awesome! But JSX is not JS.";
let newString = originalString.replace(/\bJS\b/g, "JavaScript");
console.log(newString); // "I love JavaScript! JavaScript is awesome! But JSX is not JavaScript."
You can also use capture groups (()
) and backreferences ($n
) to refer to parts of the matched string in the replace value. For example, suppose you want to swap the order of two words in a string. You can use a regular expression with two capture groups and two backreferences to achieve this:
let originalString = "Hello world";
let newString = originalString.replace(/(Hello) (world)/, "$2 $1");
console.log(newString); // "world Hello"
You can also use a function as the replace value to perform more dynamic or conditional replacements. The function will receive the matched string and any capture groups as arguments, and return a string that will be used as the replacement. For example, suppose you want to capitalize every word in a string. You can use a regular expression with a capture group and a function as follows:
let originalString = "this is a sentence";
let newString = originalString.replace(/\b(\w)/g, function(match, group) {
return group.toUpperCase();
});
console.log(newString); // "This Is A Sentence"
In this post, you learned how to replace substrings in JavaScript using the replace
and replaceAll
methods. You also learned how to use regular expressions to perform more advanced and flexible replacements. Replacing substrings in JavaScript can be very easy and powerful with these methods and techniques. You can use them to manipulate strings and text for various purposes and scenarios.
I hope you found this post helpful and informative. If you have any questions or feedback, please leave a comment below. Thank you for reading!
What do you think?