只有当字符串包含整个单词时,Ruby 中才会返回 true,在这种情况下'hello'
?
include?
如果单词中仅存在某些字符,我不希望其行为返回 true:
'hello whats up'.include? 'll'
=> true
只有当字符串包含整个单词时,Ruby 中才会返回 true,在这种情况下'hello'
?
include?
如果单词中仅存在某些字符,我不希望其行为返回 true:
'hello whats up'.include? 'll'
=> true
> 'hownowbrowncow'['now'] => "now" # will be nil if not found
如果你希望它需要单词边界......
'hownowbrowncow'[/\bnow\b/] => nil
它返回 true 还是 false 并不重要,因为除了nil
or之外的任何东西都false
将满足条件测试。如果您真的喜欢真假,那么您可以通过多种方式将任意表达式转换为真或假,其中一种方法是:
'now'.nil? => false
!'now'.nil? => true
正如其他人给出的那样,有很多好方法可以做到这一点。这是另一种方式:
my_string.scan(/\w+/).include? "hello"
这将是一个区分大小写的检查。对于不区分大小写:
my_string.scan(/\w+/).map(&:downcase).include? "hello"
这也适用于“hello”的变量:
m_string.scan(/\w+/).map(&:downcase).include? my_word
str = "Hello guys, how are you?'"
keyword = "hello"
print str.split.map { |word| word.downcase }.include? keyword.downcase
如果你只指字母表,那么你可以
(! 'Wr4ngle'.gsub(/[A-Za-z]/, '').blank?)
该 grep 应该足以满足您的需求
听起来你要求简单地做:
"hello" == "hello"
如果您不希望匹配区分大小写,可以使用:
"HeLlO".downcase == "hElLo".downcase
如果您要查看一个字符串是否包含另一个字符串,您可以执行以下操作:
s1 = "hello"
s2 = "oelhl"
s1.split("").sort == s2.split("").sort #=> case sensitive
s1.downcase.split("").sort == s2.downcase.split("").sort #=> not case sensitive