gpt4 book ai didi

Ruby - 如何检查字符串是否包含数组中的所有单词?

转载 作者:数据小太阳 更新时间:2023-10-29 06:58:16 25 4
gpt4 key购买 nike

我有一个字符串数组:phrases = [“祝你感恩节快乐”,“多吃点”]

我有另一个单词数组:words = ["eat", "food"]

如果字符串包含第二个数组中的所有单词,我想返回第一个数组中的条目。

所以,它应该看起来像这样:
phrases.select{ |x| x.include_all?(words) }

我应该只创建 include_all? 函数来遍历 words 数组的每个成员并进行比较,还是有任何内置方法不见了?

最佳答案

您实际上非常接近解决方案。

phrases.select do |phrase|
words.all?{ |word| phrase.include? word }
end

all? 方法在 Enumerable 上,如果 block 对集合中的每个项目的计算结果为真,则返回真。

根据您对短语“including”的确切定义,您可能想要定义自己的 include_all? 方法,或 String 上的方法来确定比赛。 include? 方法区分大小写并且不关心单词边界。如果这些不是您的要求,您可以使用 Regexp 代替 include? 或定义您自己的方法来包装该逻辑。

关于Ruby - 如何检查字符串是否包含数组中的所有单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8041887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com