所以我正在建立一个支持系统,需要接受传入的邮件并相应地创建或更新我的“门票”。因此,如果它存在则更新,或者如果不存在则创建。
我需要从主题行获取ticket_id,我的票证主题通常如下:
“打开[MySupport - #13管理]网站问题”
说明: 打开 - Ticket.status, MySupport - 每个票证主题的静态测试, 13 - Ticket_id, 管理 - Ticket.department, 网站问题 - Ticket.subject
所以我使用mailman接收邮件,如何删除本例中的数字13以将其保存到本地ticket_id中,以便我可以检查是否需要更新或创建票证?
由于
答案 0 :(得分:1)
你有:
subject = "Open [MySupport - #13 Management] Problem With Website"
现在做一个简单的正则表达式:
subject.scan(/#(\d*)/)
# => [["13"]]
您可以查看:
a = subject.scan(/#(\d*)/)
if a.size > 0
ticket_id = a[0][0]
else
ticket_id = nil
end
注意:我假设主题将始终采用此模式,而在其他情况下,主题不会包含"#"。如果不是这样,您可以根据您的要求使正则表达式更严格。