【发布时间】:2012-03-13 03:58:19
【问题描述】:
我正在尝试替换大引号:
str = '“I don’t know what you mean by ‘glory,’ ” Alice said.';
使用:
str.replace(/['"]/g,'');
为什么它不起作用?我该怎么做?
【问题讨论】:
标签: javascript replace
我正在尝试替换大引号:
str = '“I don’t know what you mean by ‘glory,’ ” Alice said.';
使用:
str.replace(/['"]/g,'');
为什么它不起作用?我该怎么做?
【问题讨论】:
标签: javascript replace
它不起作用,因为您试图用空字符串替换 ASCII 撇号(或单引号)和引号字符,而源字符串中的实际不是 ASCII 字符。
str.replace(/[“”‘’]/g,'');
有效。
【讨论】:
您可能必须(或更喜欢)使用 Unicode 转义:
var goodQuotes = badQuotes.replace(/[\u2018\u2019]/g, "'");
那是有趣的单引号;双引号的代码是 201C 和 201D。
edit — 从而完全替换 all 的花哨的引号:
var goodQuotes = badQuotes
.replace(/[\u2018\u2019]/g, "'")
.replace(/[\u201C\u201D]/g, '"');
【讨论】:
.replace()。我会更新答案。
.replace(/[\u2013\u2014]/g, '-') .replace(/[\u2026]/g, '...')