Ontleden ontvangen bericht in Ruby

stemmen
-1

Ik ben het coderen van een Facebook Messenger chatbot met Ruby on Rails.

Ik maak een database voor reacties. Als de melding bestaan ​​in onze database antwoordt, anders te beantwoorden als Het spijt me niet gevonden.

  ....
  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
  ....

Ik wil reguliere expressies wedstrijd toe te voegen achtige omstandigheden. Zoals dit: Als bericht bevat dit woord. antwoorden met dat.

Hoe kan ik dit doen?

De vraag is gesteld op 13/06/2017 om 15:12
bron van user
In andere talen...                            


2 antwoorden

stemmen
0

Ik weet niet zeker of ik krijg wat is uw intentie, maar je ofwel kon gebruiken gsubmethode docs als u wilt voorkomen van bepaalde patronen te vervangen in de reacties.

Of gewoon gebruik maken van voorwaardelijke verklaringen gegeven regexs als overeenkomen:

  if /this/.match(message.reply)
     reply = 'that'
antwoordde op 13/06/2017 om 15:24
bron van user

stemmen
1

U kunt substring indexering te gebruiken:

definite_article = message.reply['this'] ? 'that' : 'this'
antwoordde op 13/06/2017 om 15:26
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more