Wie ersetze ich Sonderzeichen (geschwungene Anführungszeichen, Bindestriche, Ellipsen) in OS X?

2809
Twisty Impersonator

Ziemlich einfach: Ich brauche eine Möglichkeit, Sonderzeichen wie geschweifte Anführungszeichen, Ellipsen usw. in ihre "Nur-Text" -Version zu konvertieren, dh ... in ..., "in".

Dies ist unter OS X, was bedeutet, dass ich in Microsoft Word kein Makro verwenden kann, wie dies bei einem PC der Fall ist.

Dies ist für eine Klartext-E-Mail, nicht für HTML, weshalb ich sie in diesem Format brauche.

3

4 Antworten auf die Frage

1
ghoppe

Ich sehe, Sie möchten dies in Mail tun. Der beste Weg, dies (imho) zu tun, ist mit einem Service-Menüelement. Word Service hat eine Option, um Zitate zu begradigen.

Wenn Sie Snow Leopard verwenden, ist es ziemlich einfach, einen eigenen Service-Menüpunkt mit einem Python / Ruby / Apfelskript zu erstellen, um beliebige Sonderzeichen zu ersetzen.

EDIT: Ja, ich habe mir überlegt, wie man das macht, indem ich sagte, es sei "ziemlich geradlinig", etwas unaufrichtig. So machen Sie es mit einem Ruby-Skript. ;-)

  1. Automator öffnen
  2. Erstellen Sie einen neuen Workflow, wählen Sie "Service" als Vorlage
  3. Choose Service empfängt ausgewählten Text in einer beliebigen Anwendung mit den oberen Popups
  4. Klicken Sie auf das Kontrollkästchen darunter: Ersetzt den ausgewählten Text
  5. Ziehen Sie Run Shell Script aus dem linken Bereich in Ihren Workflow
  6. Mit der Shell- Maske wählen Sie / usr / bin / ruby ​​/
  7. Kopieren Sie den folgenden Code und fügen Sie ihn in Ihren Code ein
  8. Sparen! Finden Sie es im Dienste- Menü Ihrer bevorzugten Anwendung

    $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 für das phasen der Antwort wie Sie eine animierte Büroklammer sind. stib vor 14 Jahren 1
□ Zeigen Sie mir diesen Tipp nicht mehr ghoppe vor 14 Jahren 0
Sieht gut aus, aber aus irgendeinem Grund bekomme ich aus dem Menü Dienste in Microsoft Word "Keine Dienste anwenden" vor 14 Jahren 0
Dummes MS Word ist keine Cocoa-Anwendung, aber Sie können weiterhin die Unterstützung für Services in Carbon-Anwendungen kodieren. Ich höre Entourage unterstützt Dienste, Word jedoch nicht. Es tut uns leid. Ich empfehle, Word nicht zu verwenden. :) Sie haben erwähnt, dass dies für eine reine Text-E-Mail war. Warum nicht einfach den Dienst dort anwenden? ghoppe vor 14 Jahren 0
Oder könnten Sie stattdessen die Aktion "Ausgewählten Inhalt aus Word-Dokumenten abrufen" verwenden, wie es @Doug Harris mit seinem Shell-Skript getan hat? ghoppe vor 14 Jahren 0
Leider arbeite ich in einem Verlag und alles wird in Word gemacht. Dougs Lösung funktioniert gut, aber ich habe nur einen Kommentar hinzugefügt, der das Problem erläutert, das ich immer noch habe. Ihre und Doug's Vorschläge haben jedoch schon viel geholfen! vor 14 Jahren 0
0
David Rouse

Die einfache Methode zum Zeigen und Klicken - Bare Bones Software verfügt über einen freien Texteditor namens "TextWrangler", der über einen integrierten Befehl "In ASCII konvertieren" verfügt. Sie können es sogar automatisieren: http://discussions.apple.com/thread.jspa?threadID=890344

Die Anwendung kann auch reguläre Ausdrücke suchen und ersetzen, wenn Sie sie benötigen.

0
David M

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

könnte das sein, was du willst.

Für OS X gibt es einen Macports-Port, wenn Sie Macports haben, verwenden Sie

sudo port install html2text

html2text ersetzt "geschweifte" Anführungszeichen nicht durch "gerade" Anführungszeichen. mfink vor 7 Jahren 0
0
Doug Harris

Ich habe dies mit einem Automator- Workflow gemacht, der:

  1. Verwendet die Aktion "Ausgewählten Inhalt aus Word-Dokumenten abrufen" und übergibt diese Ausgabe an ...
  2. "Run Shell Script" verwenden sed -e 's/“/"/g; s/”/"/g; s/…/.../g; ' -e "s/’/'/g"und übergeben diese Ausgabe an ...
  3. Aktion "In Zwischenablage kopieren"

Speichern Sie dieses Skript unter ~ / Documents / Microsoft User Data / Word-Skriptmenüelemente / und es wird im Skriptmenü von Word angezeigt.

Wählen Sie einfach den zu sendenden Text aus, führen Sie das Skript aus und fügen Sie den bereinigten Text in eine E-Mail ein.

Danke, das funktioniert einwandfrei, außer dass es die fetten / kursiven / etc-Formatierungen verliert, wenn es in Word ausgeführt wird. vor 14 Jahren 0
Ich verstehe nicht Ich dachte, Sie möchten keine Formatierung, weil Sie reine Text-E-Mails senden. Doug Harris vor 14 Jahren 0
Im Idealfall möchte ich die fett- und kursiv formatierten Formatierungen beibehalten, aber die Sonderzeichen entfernen, da ich diese direkt in einen WYSIWYG-Editor einfügen könnte, den ich verwenden muss, da er die Fett- / Kursivschrift beibehält und außerdem alle erforderlichen Zeilenumbrüche erstellt. Das wäre für die HTML-Version. Sie haben recht, dass es für die Nur-Text-Version keine Rolle spielt. vor 14 Jahren 0