如何检查字符串中某个短语出现的次数?
例如,假设该短语是“donut”。
我查看了这个SO,它建议使用include,但只有在
我想到了这个方法,但它并不能在拼写完
例如,假设该短语是“donut”。
str1 = "I love donuts!"
#=> returns 1 because "donuts" is found once.
str2 = "Squirrels do love nuts"
#=> also returns 1 because of 'do' and 'nuts' make up donut
str3 = "donuts do stun me"
#=> returns 2 because 'donuts' and 'do stun' has all elements to make 'donuts'
我查看了这个SO,它建议使用include,但只有在
donuts
按顺序拼写时才有效。我想到了这个方法,但它并不能在拼写完
"donuts"
的所有元素后停止。例如:"I love donuts" #=> ["o", "d", "o", "n", "u", "t", "s"]
def word(arr)
acceptable_word = "donuts".chars
arr.chars.select { |name| acceptable_word.include? name.downcase }
end
我该如何检查给定字符串中出现了多少次donuts
?没有边际情况。输入总是String
,不为nil
。如果它仅包含donut
元素,则不应计为1次出现;它需要包含donuts
,不必按顺序。
donuts
和do stun
都应该返回匹配。 - Iggy