Q:

How to replace all occurrences of a string in JavaScript

0

How to replace all occurrences of a string in JavaScript

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Use the JavaScript replace() method

You can use the JavaScript replace() method in combination with the regular expression to find and replace all occurrences of a word or substring inside any string.

Let's check out an example to understand how this method basically works:

<script>
    var myStr = 'freedom is not worth having if it does not include the freedom to make mistakes.';
    var newStr = myStr.replace(/freedom/g, "liberty");
    
    // Printing the modified string
    document.write(newStr);
</script>

However, if the string comes from unknown/untrusted sources like user inputs, you must escape it before passing it to the regular expression. The following example will show you the better way to find and replace a string with another string in JavaScript.

<script>
/* Define function for escaping user input to be treated as 
    a literal string within a regular expression */
function escapeRegExp(string){
    return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
}
    
/* Define functin to find and replace specified term with replacement string */
function replaceAll(str, term, replacement) {
    return str.replace(new RegExp(escapeRegExp(term), 'g'), replacement);
}
    
/* Testing our replaceAll() function  */
var myStr = 'if the facts do not fit the theory, change the facts.';
var newStr = replaceAll(myStr, 'facts', 'statistics')
    
// Printing the modified string
document.write(newStr);
</script>

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

JavaScript / jQuery Frequently Asked Questions

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
How to check whether a value is numeric or not in ... >>
<< How to get number of elements in a div using jQuer...