”
и ’
не являются ненужными символами.Это очень хорошие символы Юникода (U + 201C ЛЕВАЯ МАРКА ДВОЙНОЙ ЦИТАТЫ и U + 2018 ЛЕВАЯ МАРКА ОДНОЙ ЦИТАТЫ).Современные приложения должны быть способны работать со всеми символами Юникода;если вы не можете обрабатывать умные кавычки, вы, вероятно, также не можете обрабатывать ударения, греческий, кириллический, китайский или любые другие символы, которые пользователи, вероятно, захотят использовать.Вы должны сосредоточиться на том, чтобы ваше приложение поддерживало Unicode, вместо того, чтобы пытаться исправить этот один видимый признак.
Вставка '
и "
(прямая кавычка ASCII) символов в текстовое поле не должна превращать их вне-ASCII «умные» цитаты.Как правило, они берутся из-за ошибочной функции Microsoft Word «Автозамена», которая заменяет прямые кавычки умными кавычками при вводе текста.Это досадно, но в конечном итоге это ограничивается Office, и с этим ничего не поделаешь.Пока вы можете вручную заменить “
и ”
на "
, выполнив тривиальную замену строки (и то, как вы это сделаете, зависит от того, на каком языке / среде вы говорите), вы такжеудаляйте правильное использование этих символов, и вы не будете исправлять все другие печальные разбитые автозамены, которые делает MS Office.
Односимвольный многоточие …
- это немного другой случай, и, возможно,'junk': для Unicode, U + 2026 HORIZONTAL ELLIPSIS - это «символ совместимости», который предназначен только для удобного обхода существующих кодировок, которые включают его в качестве отдельных символов.Обычно вместо этого следует использовать три символа точки.Вы можете заменить символы совместимости, используя нормализацию Unicode, в частности нормальную форму KC.Опять же, то, как вы получаете доступ к нормализации, зависит от вашего языка / среды программирования.Например, в Python, unicodedata.normalize('NFKC', u'…')
дает вам u'...'
.