我得到了一些这样的字符串:
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_light
、sky_light
、widesky_dark
和 sky_dark
之一精确所以我写了这个:
if my_string.match("widesky_light")
...
end
对于每个变体,但我遇到的问题是因为 sky_light
和 widesky_light
相似,我的代码无法正常工作。我相信上述问题的解决方案是正则表达式,但我昨天下午一直在努力让它发挥作用,但没有取得太大成功。
有什么建议吗?
编辑
注意:在这个字符串中(例如):TFjyg9780878_867978-DGB097908-78679iuhi698_widesky_light_87689uiyhk
,widesky_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/