如何从 slack ruby bot 的字符串中提取值

How to extract the values from a string from slack ruby bot

我正在尝试创建一个可以将传入数据保存到数据库的 slackbot。

我已经使用了 gem slack-ruby-bot 我可以接收我的文本,但我想提取文本的特定部分,以保存在数据库中。

给定以下收到的文本:

我必须能够提取项目名称 Whosebug 和小时,即 10。有办法吗?

  command 'activity', '/^Activity/' do |client, data, match|
    client.say(text: "#{data.text}", channel: data.channel)
  end

这只是获取命令 activity 的示例代码。

无论您在哪里收到字符串,您都可以使用正则表达式和 String#scan 来获取数据。

"I worked on 'Whosebug' for 10 hours.".scan /'[^']+'|\d+/
#⇒ ["'Whosebug'", "10"]