Skip to content Skip to sidebar Skip to footer

Javascript Find And Replace A Set Of Characters?

I have a string and I need to replace all the ' and etc to their proper value I am using var replace = str.replace(new RegExp('[']', 'g'), '''); To do so, but the p

Solution 1:

Use this:

var str = str.replace(/'/g, "'");

['] is a character class. It means any of the characters inside of the braces.

This is why your /[']/ regex replaces every single char of ' by the replacement string.


If you want to use new RegExp instead of a regex literal:

var str = str.replace(new RegExp(''', 'g'), "'");

This has no benefit, except if you want to generate regexps at runtime.


Solution 2:

Take out the brackets, which makes a character class (any characters inside it match):

var replace = str.replace(new RegExp("'", "g"), "'");

or even better, use a literal:

var replace = str.replace(/'/g, "'");

Edit: See this question on how to escape HTML: How to unescape html in javascript?


Solution 3:

Rather than using a bunch of regex replaces for this, I would do something like this and let the browser take care of the decoding for you:

    function HtmlDecode(s) {
        var el = document.createElement("div");
        el.innerHTML = s;
        return el.innerText || el.textContent;
    }

Post a Comment for "Javascript Find And Replace A Set Of Characters?"