Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails,查找字符串并截断文本块_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails rails,查找字符串并截断文本块

Ruby on rails rails,查找字符串并截断文本块,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,给定一个文本块,如 yada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yada On Tue, Nov 16, 2010 a

给定一个文本块,如

yada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yada

On Tue, Nov 16, 2010 at 9:23 PM, Tekkub <tender+xxxxxxx@tenderapp.com> wrote:
yadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadayadaya
2010年11月16日星期二晚上9:23,Tekkub写道:
对于Rails3,我想知道,给定一个文本块,如何找到如下字符串:

On Tue, Nov 16, 2010 at 9:23 PM, Tekkub <tender+xxxxxxx@tenderapp.com> wrote:
2010年11月16日星期二晚上9:23,Tekkub写道: 然后用匹配字符串上方的文本创建一个新变量

谢谢

想法: 1.首先需要生成该字符串,给出日期、月份:

On Tue, Nov 16, 2010 at 9:23 PM, Tekkub <tender+xxxxxxx@tenderapp.com> wrote:
2010年11月16日星期二晚上9:23,Tekkub写道:
  • 使用该字符串进行查找?还有一些是如何应用左撇子的
    因此,您可以使用ruby的
    String
    类中的
    scan()
    方法和一个正则表达式来实现这一点。此方法是脆弱的,因为它依赖于这样一个事实:上的
    始终会启动您正在查找的字符串,而
    始终会结束它。但是,如果你说“应该”,那么这会很好。此代码示例假定
    @emailreply
    是一个实例变量,以字符串形式包含电子邮件回复的整个正文,并将返回一个包含摘录的1数组
    scan()
    返回字符串中所有正则表达式匹配项的数组

     def extract_info
        extracts = @emailreply.scan(/On.*?:/)
        extracts
     end
    

    它是否总是以
    开头,以冒号结尾?它应该是电子邮件回复。您是否使用此行作为上面正文的分隔符?如果引号字符串(和引号文本)在实际正文文本之上怎么办?@Eric,是的,这是当前的想法。但我愿意找一个更好的。目标是收到一封作为回复的电子邮件,能够提取回复消息,而不包含电子邮件中的所有垃圾邮件(以前的线程、电子邮件)、日期戳等。只需获取回复文本,并将其作为评论插入DB中。想法?嗯,谢谢Alex,但为了安全起见,我宁愿构建完整的字符串,然后找到匹配的。“有可能吗?”我相信有可能。你介意先解释一下“构建完整字符串”的含义吗?这不是电子邮件回复的全部字符串吗?@Alex,谢谢。是的,所以我们的目标是在这个字符串上做一个非常积极的匹配。”2010年11月16日星期二晚上9:23,Tekkub写道:“为了确保我获取并注入数据库的是一条评论。避免误报非常重要。因此,我们的想法是,因为我们知道当前的数据(今天是11月17日),我可以用它来查找:“2010年11月16日星期二晚上X:XX,XXXXXX写道:”想法是我可以匹配2010年11月16日星期二和用户的电子邮件地址。这有帮助吗?XXXX代表我想忽略的东西,因为它是可变的,没有特定的。。你觉得怎么样?@实习医生啊!那么你只关注用户的电子邮件地址和日期?