def has_word?
text =~ /((Word1)|(Word2))/
end
这就是我现在所做的,它有效,但我觉得有更好的红宝石解决方案。什么是正确的方法?
答案 0 :(得分:1)
您可能有一些特殊情况需要解决,而这些情况并非您当前的方法所涵盖。以下是这些类型
的一些常见解决方案/Word1|Word2/i
/\b(Word1|Word2)\b/
/^(Word1|Word2)$/
def get_match(strings)
Regexp.new(strings.join("|"))
end
get_match(["Words", "word", "terrible", "one-way", "don't"])
get_match(["week", "month", "year"])
def get_match(strings)
Regexp.new(strings.sort.reverse.join("|"))
end
get_match(["Yes", "Day", "Yesterday", "Daytime"])