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=[“否”]
不应匹配。(容易修复,方法很好。)