我想从lua中的邮件标题中删除一些字段。假设我有一个名为" header"的字符串。我想删除以" Re"。
开头的所有标题字段我该怎么做?
我试过这样的事情:
string.gsub(header ,"\nRe.-\n[^%s]", "")
但它不起作用....
例如输入
Received: by a;
Tue, 14 Mar 2012 19:43:29 -0700 (PDT)
X-Received: by b;
Tue, 14 Mar 2012 19:43:29 -0700 (PDT)
Return-Path: <x@example.com>
Received: from ex.com
by mx..com
for x
Received-SPF: pas5a;
Authentication-Results:;
dkim=pass header.i=@;
Return-Path: <bounce-paypal.de>
MIME-Version: 1.0
Reply-To: a
Subject: b
From: c
To: xxx
Date: Tue, 14 Mar 2012 19:43:29 -0700 (PDT)
Content-Type: multipart/alternative;
应该成为
X-Received: by b;
Tue, 14 Mar 2012 19:43:29 -0700 (PDT)
Authentication-Results:;
dkim=pass header.i=@;
MIME-Version: 1.0
Subject: b
From: c
To: xxx
Date: Tue, 14 Mar 2012 19:43:29 -0700 (PDT)
Content-Type: multipart/alternative;
删除以&#34; Re&#34;开头的字段。主要问题是多行字段。
答案 0 :(得分:1)
尝试
string.gsub(header ,"%f[^\n%z]Re.-\n%f[%S]", "")
答案 1 :(得分:0)
如果问题是多行字段,请先将这些字段合并到带有
的单行字段中header = string.gsub(header ,"\n( +)", "\1%1")
进行所需的编辑。完成后,根据需要恢复多行字段:
header = string.gsub(header ,"\1", "\n")
\1
只是一个占位符。您可以使用邮件标题中未使用的任何字符。