在下面的示例中,我运行str through .replace并使用输出填充id为wtf的div。问题是我必须手动转义str.replace的双引号才能工作。 有没有办法自动转义双引号?
<body>
<div id="wtf"></div>
<script>
var str = ("this string has "double quotes" as well as 'single quotes'..");
var well = str.replace(/\s\d{2}\s(\d{2}\s)?/g,' ');
wtf.innerHTML = well;
</script>
</body>
答案 0 :(得分:2)
您必须手动转义双引号。没有办法自动完成,因为str会产生以下错误,然后javascript就不会在代码行之前执行:
答案 1 :(得分:1)
使用反斜杠( \ )来转义双引号。
它应该是这样的:
var str = ("this string has \"double quotes\" as well as 'single quotes'..");
没有自动的方法来做到这一点。
答案 2 :(得分:0)
如果要替换引号,最好用HTML实体替换它们。使用这样的方法,你可以完成它。
var tokens = [
['"', '"'],
["'", ''']
];
var clean = [];
for(var i = 0; i < MY_STRING.length; i++) {
var s = MY_STRING[i];
for(var a = 0; a < tokens.length; a++)
if(tokens[a][0] == s) {
s = tokens[a][1];
break;
}
clean.push(s);
}
var cleanString = clean.join("");