【发布时间】:2017-06-13 15:12:08
【问题描述】:
我正在使用 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”这个词。回复“那个”。
我该怎么做?
【问题讨论】:
-
可以使用
include?,比使用正则表达式'A string that contains bla'.include?('bla') ? do_this : do_another_thing稍微快一点 -
请阅读“minimal reproducible example”。你试过什么?向我们展示演示您尝试解决此问题所需的最少代码,并描述它没有正确执行的操作。否则,您是在要求我们为您编写代码或编写教程,这两者都是题外话。我建议了解
case/when以及正则表达式的工作原理。
标签: ruby-on-rails ruby facebook-chatbot