如何在 OS X 中替换特殊字符(花括号、破折号、省略号)?

如何在 OS X 中替换特殊字符(花括号、破折号、省略号)?

很简单:我需要一种方法将特殊字符(例如花括号、省略号等)转换为其“纯文本”版本,即将 ... 转换为 ...,“转换为”。

这是在 OS X 上,这意味着我不能像在 PC 上那样使用 Microsoft Word 中的宏来执行此操作。

这是纯文本电子邮件,而不是 HTML,这就是我需要这种格式的原因。

答案1

我知道您想在邮件中执行此操作。最好的方法是使用服务菜单项(在我看来)。文字服务可以选择拉直/弯曲引号。

如果您使用的是 Snow Leopard,那么用 python/ruby/applescript 创建自己的服务菜单项来替换任意特殊字符就非常简单了。

编辑:是的,我略过了如何做到这一点,说它“非常简单”,有点不诚实。以下是使用 ruby​​ 脚本执行此操作的方法。;-)

  1. 打开 Automator
  2. 创建新的工作流,选择“服务”作为模板
  3. 选择服务接收所选文本任何应用程序使用顶部弹出窗口
  4. 点击下面的复选框:替换选定的文本
  5. 运行 Shell 脚本从左侧窗格进入您的工作流程
  6. 随着幼犬选择/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!
    

答案2

简单的点击方式——Bare Bones Software 有一款名为“TextWrangler”的免费文本编辑器,其中内置有“转换为 ASCII”命令。您甚至可以自动执行此操作:http://discussions.apple.com/thread.jspa?threadID=890344

如果您需要,该应用程序还具有正则表达式搜索和替换功能。

答案3

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

可能就是你想要的。

对于 OS X,有一个 macports 端口,如果你有 macports,请使用

sudo port install html2text

答案4

我已经用自动机工作流程:

  1. 使用“从 Word 文档获取选定内容”操作并将该输出传递给...
  2. “运行 Shell 脚本”来使用sed -e 's/“/"/g; s/”/"/g; s/…/.../g; ' -e "s/’/'/g"并将该输出传递给...
  3. “复制到剪贴板”操作

将此脚本保存在 ~/Documents/Microsoft User Data/Word Script Menu Items/ 下,它将出现在 Word 的脚本菜单中。

只需选择要发送的文本,运行脚本,然后将清理后的文本粘贴到电子邮件中即可。

相关内容