代码之家  ›  专栏  ›  技术社区  ›  Sixty4Bit

如何在线拆分电子邮件?

  •  1
  • Sixty4Bit  · 技术社区  · 17 年前

    我正在使用Rails的Fetcher插件检索电子邮件。它做得很好。但我试图在新行上拆分邮件正文,但似乎这只是一条很长的行。

    1 回复  |  直到 17 年前
        1
  •  2
  •   Paige Ruten    17 年前

    听起来你需要一个单词包装算法。下面是我在网站上找到的一个用Ruby包装单词的简短而聪明的方法 ruby-talk mailing list (链接指向谷歌的缓存,因为该网站似乎已关闭):

    puts $<.read.gsub(/\t/,"     ").gsub(/.{1,50}(?:\s|\Z)/){($& + 
    5.chr).gsub(/\n\005/,"\n").gsub(/\005/,"\n")}
    

    下面是一个用方法包装的稍微漂亮一点的版本:

    def wordwrap(str, columns=80)
      str.gsub(/\t/, "     ").gsub(/.{1,#{ columns }}(?:\s|\Z)/) do
        ($& + 5.chr).gsub(/\n\005/, "\n").gsub(/\005/, "\n")
      end
    end