我正在使用Ruby on Rails编写Facebook Messenger ChatBot。
我为响应创建了一个数据库。如果我的数据库中存在消息则回复,否则回复为“抱歉未找到。”
....
def analysis(sender, text)
message = Message.where(:recieved => text).first
if message
reply = message.reply
else
reply = "Sorry not found"
end
send_message(sender,reply)
end
....
我想像条件一样添加正则表达式匹配。像这样:如果消息包含“this”这个词。用“那个”回复。
我该怎么做?
答案 0 :(得分:1)
您可以使用子字符串索引:
definite_article = message.reply['this'] ? 'that' : 'this'
答案 1 :(得分:0)
我不确定我是否得到了您的意图,但如果您想要替换响应中给定模式的出现,您可以使用gsub
方法docs。
或者只是使用条件语句来匹配给定的正则表达式,如:
if /this/.match(message.reply)
reply = 'that'