Как заменить фигурные кавычки в строке с помощью Javascript?
Я пытаюсь заменить фигурные кавычки:
str = '"I don’t know what you mean by ‘glory,’ " Alice said.';
Использование:
str.replace(/['"]/g,'');
Почему это не работает? Как я могу это сделать?
Ответ 1
Возможно, вам придется (или предпочесть) использовать escape-последовательности Unicode:
var goodQuotes = badQuotes.replace(/[\u2018\u2019]/g, "'");
Что для смешных одиночных кавычек; коды для двойных кавычек - 201C и 201D.
edit — таким образом, чтобы полностью заменить все причудливые кавычки:
var goodQuotes = badQuotes
.replace(/[\u2018\u2019]/g, "'")
.replace(/[\u201C\u201D]/g, '"');
Ответ 2
Это не работает, потому что вы пытаетесь заменить апостроф ASCII (или одиночную кавычку) и цитировать символы с пустой строкой, когда то, что на самом деле в вашей исходной строке не является символами ASCII.
str.replace(/[""‘’]/g,'');
работы.
Ответ 3
В настоящее время существует библиотека под названием "SmartQuotes", которая правильно выполнит работу по замене стандартных цитат/апострофов кодера красивыми умными цитатами типографа - лучше, чем использование более простого поиска и замены, поскольку она получает открытие/закрытие правильное.
Ответ 4
Я знаю, что это старый вопрос. Просто хочу что-то добавить.
Кавычки, которые вы пытаетесь заменить, называются "Smart Quotes".