Как заменить специальные символы (фигурные кавычки, тире, эллипсы) в OS X?

2679
Twisty Impersonator

Довольно просто: мне нужен способ конвертировать специальные символы, такие как фигурные кавычки, эллипсы и т. Д., В их текстовую версию, то есть… в…, «в».

Это на OS X, что означает, что я не могу использовать макрос в Microsoft Word, чтобы сделать это, как у меня на ПК.

Это для простого текстового электронного письма, а не для HTML, поэтому они мне нужны в этом формате.

3

4 ответа на вопрос

1
ghoppe

Я вижу, вы хотите сделать это в почте. Лучший способ сделать это (imho) - с помощью пункта меню Сервис. Word Service имеет возможность выпрямлять / вьющиеся кавычки.

Если вы используете Snow Leopard, довольно просто создать свой собственный пункт меню сервиса с помощью python / ruby ​​/ applecript для замены произвольных специальных символов.

РЕДАКТИРОВАТЬ: Да, я обдумал, как это сделать, сказав, что это "довольно просто" немного неискренне. Вот как это сделать с помощью сценария ruby. ;-)

  1. Открыть Автоматор
  2. Создайте новый рабочий процесс, выберите «Сервис» в качестве шаблона.
  3. Выберите Сервис получает выбранный текст в любом приложении с верхними всплывающими окнами
  4. Установите флажок под: Заменяет выделенный текст
  5. Перетащите Run Shell Script из левой панели в рабочий процесс.
  6. С помощью куклы Shell выберите / usr / bin / ruby ​​/
  7. Скопируйте и вставьте следующий код, измените в соответствии с вашими потребностями
  8. Сохранить! Найдите его в меню « Сервисы» вашего любимого приложения.

    $KCODE = 'u' require 'jcode' # need the above two lines for ruby <1.9.1  # to make str.tr and str.gsub unicode aware  # grab the selected text! theText = STDIN.gets(nil)  # str.tr replaces single characters theText = theText.tr('“”','"') theText = theText.tr("‘’","'")  # need to use str.gsub: replacement is > replaced characters theText = theText.gsub("…","...") theText = theText.gsub("—","--")  # add more replacements as desired . . .  STDOUT << theText # replace da text! 
+1 для поэтапного ответа, как будто вы анимированные скрепки. stib 14 лет назад 1
□ Не показывай мне этот совет снова ghoppe 14 лет назад 0
Выглядит хорошо, но по какой-то причине я получаю «No Services Apply» из меню «Службы» в Microsoft Word 14 лет назад 0
Глупый MS Word не является приложением Какао, но вы все равно можете кодировать поддержку Сервисов в приложениях Carbon. Я слышал, что Entourage поддерживает службы, но Word нет. Сожалею. Я советую не использовать Word. :) Вы упомянули, что это было для простого электронного письма, почему бы просто не применить сервис там? ghoppe 14 лет назад 0
Или вы могли бы вместо этого использовать действие «Получить выбранный контент из документов Word», как это сделал @Doug Harris со своим сценарием оболочки? ghoppe 14 лет назад 0
Unfortunately I work at a publishing company and everything is done in Word. Doug's solution does work well but I just added a comment explaining the issue I'm still having. However your and Doug's suggestions have already helped a lot! 14 лет назад 0
0
David Rouse

Простой способ навести и щелкнуть - Bare Bones Software имеет бесплатный текстовый редактор под названием «TextWrangler», который имеет встроенную команду «Преобразовать в ASCII». Вы даже можете автоматизировать это: http://discussions.apple.com/thread.jspa?threadID=890344

Приложение также имеет регулярное выражение поиска и замены, если вам это нужно.

0
David M

http://www.mbayer.de/html2text/

может быть, что вы хотите.

Для OS X есть порт macports, если у вас есть macports, используйте

sudo port install html2text

html2text не заменяет «фигурные» кавычки на «прямые» кавычки. mfink 7 лет назад 0
0
Doug Harris

Я сделал это с помощью рабочего процесса Automator, который:

  1. Использует действие «Получить выбранный контент из документов Word» и передает этот вывод ...
  2. «Run Shell Script» для использования sed -e 's/“/"/g; s/”/"/g; s/…/.../g; ' -e "s/’/'/g"и передает этот вывод ...
  3. Действие "Копировать в буфер обмена"

Сохраните этот сценарий в ~ / Documents / Microsoft User Data / Пункты меню Word Script /, и он появится в меню сценариев Word.

Просто выберите текст, который вы хотите отправить, запустите скрипт, и затем вы можете вставить очищенный текст в электронное письмо.

Спасибо, это работает отлично, за исключением того, что оно теряет форматирование жирным шрифтом / курсивом / и т.д., когда это делается в Word. 14 лет назад 0
Я не понимаю Я думал, что вам не нужно форматирование, потому что вы отправляете текстовое электронное письмо. Doug Harris 14 лет назад 0
В идеале я хотел бы сохранить любое форматирование жирным шрифтом и курсивом, но удалить специальные символы, поскольку я мог бы затем вставить это непосредственно в редактор WYSIWYG, который мне нужно использовать, поскольку он сохраняет жирный шрифт / курсив и также создает все необходимые разрывы строк. Это было бы для версии HTML. Вы правы, что для простой текстовой версии это не имеет значения. 14 лет назад 0