我目前正在开发一个系统,允许用户回复发出的通知邮箱(sigh封).

我需要go 掉回复和签名,这样我就只剩下回复的实际内容,没有任何噪音.

有人对最好的方法有什么建议吗?

推荐答案

如果您的系统是内部的,并且/或者您的回复格式数量有限,那么就有可能做得很好.以下是我们为trac票证的邮箱回复设置的过滤器:

删除以下内容后的所有文本:

  1. 等于'-- \n'的行(标准邮箱符号分隔符)
  2. 等于'--\n'的行(人们经常忘记sig分隔符中的空格;而这在sig之外并不常见)
  3. '-----Original Message-----'开头的行(MS Outlook默认)
  4. '________________________________开头的行(32下划线,再次显示Outlook)
  5. 'On '开头,以' wrote:\n'结尾的行(OS X Mail.app默认)
  6. 'From: '开头的行(failsafe four Outlook和其他一些回复格式)
  7. 'Sent from my iPhone'开头的行
  8. 'Sent from my BlackBerry'开头的行

数字3和4是"begin with"而不是"equals",因为有时用户会在意外情况下把线挤在一起.

我们试图更自由地删除回复,因为(对我们来说)有回复垃圾比纠正缺失的文本更烦人.

有人想分享其他来自野外的格式吗?

Ruby相关问答推荐

Ruby中链表大小调用的时间复杂度

指南针手表:未定义的方法存在吗?对于文件:类

查看 Savon 请求 XML 而不发送到服务器

如何使用 Ruby 删除字符串中某个字符后的子字符串?

Windows 上的 Jekyll:Pygments 不工作

带有索引的 Ruby `each_with_object`

在 gem 中放置/访问配置文件的位置?

在 Ruby 中,获取第一个块返回 true 的可枚举元素的最快方法是什么?

将 2 元素数组的数组转换为哈希,其中重复键附加附加值

符号到字符串问题

在本地文件夹中安装 gem

Ruby:更新哈希值的最简单方法是什么?

使用哈希参数进行 DRY Ruby 初始化

是否有更简单的(单行)语法来别名一个类方法?

Ruby 中的超级关键字

如何使用 Nokogiri 删除 node ?

正则表达式,如何匹配多行?

Ruby 中的 to_s 与 to_str(以及 to_i/to_a/to_h 与 to_int/to_ary/to_hash)

我可以在 OS X v10.6.8 上升级到当前版本的 Ruby (2.2.3) 吗?

Ruby 中的动态方法调用