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 problem is it se开发者_StackOverflowems to be replacing '
for each character (so for example, '
becomes '''''
Any help?
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.
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?
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;
}
精彩评论