ruby-on-rails - 如何使用 Ruby/Rails 查找字符串中的特定单词

标签 ruby-on-rails ruby regex

我得到了一些这样的字符串:

TFjyg9780878_867978-DGB097908-78679iuhi698_widesky_light_87689uiyhk

TFjyg9780878_867978-DGB097908-78679iuhi698_sky_light_87689uiyhk

TFjyg9780878_867978-DGB097908-78679iuhi698_widesky_dark_87689uiyhk

TFjyg9780878_867978-DGB097908-78679iuhi698_sky_dark_87689uiyhk

我需要检查上面的字符串是否具有 widesky_lightsky_lightwidesky_darksky_dark 之一精确所以我写了这个:

if my_string.match("widesky_light")
  ...
end 

对于每个变体,但我遇到的问题是因为 sky_lightwidesky_light 相似,我的代码无法正常工作。我相信上述问题的解决方案是正则表达式,但我昨天下午一直在努力让它发挥作用,但没有取得太大成功。

有什么建议吗?

编辑

注意:在这个字符串中(例如):TFjyg9780878_867978-DGB097908-78679iuhi698_widesky_light_87689uiyhkwidesky_light之后的部分,即_87689uiyhk是可选的,这意味着有时我有它,有时我没有,所以解决方案不能指望 _string_

最佳答案

看起来您只需要重新排序您的 if 语句

if my_string.match(/widesky_light/)
  return 'something'
end
if my_string.match(/sky_light/)
  return 'something'
end

关于ruby-on-rails - 如何使用 Ruby/Rails 查找字符串中的特定单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40907558/

相关文章:

ruby-on-rails - 简单表单删除关联记录

ruby-on-rails - 错误 : Failed to buld gem native extension?

c# - 负向后视的小数或整数

Python 正则表达式 : "re.match()" works differently than "re.sub()" for regex

ruby-on-rails - 无需用户登录即可购物车结账功能

ruby-on-rails - Docker,Rails 3.2,依赖项问题

Ruby,插入一个字符串数组

ruby - 如何为 ruby​​ 的 Test::Unit::TestCase 中的所有测试定义通用的设置和拆卸逻辑?

ruby-on-rails - 如何添加仅接受超过特定值的年份的验证,Ruby on Rails

javascript - 如何创建正则表达式来添加单行有效 ssh key