我的字符串是
str = "my string is this one"
我的数组是
arr = ["no", "nothing", "only", "is"]
所以,我的字符串在我的数组值中包含是,我想得到结果true
我该怎么做?
我想使用include?
符合
答案 0 :(得分:1)
(str.downcase.split & arr.map(&:downcase)).any?
#=> false
如果知道所有字母都是相同的情况。
(str.split & arr).any?
#=> false
答案 1 :(得分:1)
检查整个单词何时包含区分大小写:
(str.split & arr).any?
#⇒ true
不区分大小写:
[str.split, arr].map { |a| a.map(&:downcase) }.reduce(&:&).any?
#⇒ true
要检查它是否包含任何arr
:
arr.any?(&str.method(:include?))
#⇒ true
答案 2 :(得分:0)
这使用正则表达式。好消息是它是为你生成的 - 没有学习的语法。其他好消息:它只遍历字符串一次。
re = Regexp.union(arr) #your own regular expression without screws or bolts
p re.match?(str) # => true