Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何检查字符串是否包含数组的任何值?_Ruby On Rails_Arrays_Ruby_String_Include - Fatal编程技术网

Ruby on rails 如何检查字符串是否包含数组的任何值?

Ruby on rails 如何检查字符串是否包含数组的任何值?,ruby-on-rails,arrays,ruby,string,include,Ruby On Rails,Arrays,Ruby,String,Include,我的绳子是 str = "my string is this one" 我的数组是 arr = ["no", "nothing", "only", "is"] 因此,我的字符串在数组的值中包含is,我想得到结果true 我该怎么做 我想使用include?met (str.downcase.split & arr.map(&:downcase)).any? #=> false 如果已知所有字母的大小写相同 (str.split & arr).any?

我的绳子是

str = "my string is this one"
我的数组是

arr = ["no", "nothing", "only", "is"]
因此,我的字符串在数组的值中包含is,我想得到结果
true

我该怎么做

我想使用
include?
met

(str.downcase.split & arr.map(&:downcase)).any?
   #=> false
如果已知所有字母的大小写相同

(str.split & arr).any?
   #=> false
如果已知所有字母的大小写相同

(str.split & arr).any?
   #=> false

要检查整个单词是否区分大小写,请执行以下操作:

(str.split & arr).any?
#⇒ true
[str.split, arr].map { |a| a.map(&:downcase) }.reduce(&:&).any?
#⇒ true
不区分大小写:

(str.split & arr).any?
#⇒ true
[str.split, arr].map { |a| a.map(&:downcase) }.reduce(&:&).any?
#⇒ true
要检查它是否包含任何
arr
项,请执行以下操作:

arr.any?(&str.method(:include?))
#⇒ true

要检查整个单词是否区分大小写,请执行以下操作:

(str.split & arr).any?
#⇒ true
[str.split, arr].map { |a| a.map(&:downcase) }.reduce(&:&).any?
#⇒ true
不区分大小写:

(str.split & arr).any?
#⇒ true
[str.split, arr].map { |a| a.map(&:downcase) }.reduce(&:&).any?
#⇒ true
要检查它是否包含任何
arr
项,请执行以下操作:

arr.any?(&str.method(:include?))
#⇒ true

它使用正则表达式。好消息是它是为您生成的-没有语法可学。其他好消息:它只遍历字符串一次

re = Regexp.union(arr)  #your own regular expression without screws or bolts
p re.match?(str)  # => true

它使用正则表达式。好消息是它是为您生成的-没有语法可学。其他好消息:它只遍历字符串一次

re = Regexp.union(arr)  #your own regular expression without screws or bolts
p re.match?(str)  # => true

我相信你需要一个词的界限。例如,
str=“not”;arr=[“否”]
不应匹配。(简单的修复,很好的方法)我相信你需要单词边界。例如,
str=“not”;arr=[“否”]
不应匹配。(容易修复,方法很好。)