我如何检查字符串中是否存在单词,如果不存在则返回false,在ruby中?

oxo*_*oxo 12 ruby regex string substring

说我有一个字符串 str = "Things to do: eat and sleep."

我如何检查是否"do: "存在于str中,不区分大小写?

Kon*_*lph 21

像这样:

puts "yes" if str =~ /do:/i
Run Code Online (Sandbox Code Playgroud)

要返回一个布尔值(可能来自一个方法),请将匹配结果与以下内容进行比较nil:

def has_do(str)
    (str =~ /do:/i) != nil
end
Run Code Online (Sandbox Code Playgroud)

或者,如果你不喜欢!= nil那么你可以使用!~而不是=~否定结果:

def has_do(str)
    not str !~ /do:/i
end
Run Code Online (Sandbox Code Playgroud)

但我真的不喜欢双重否定......