Ruby – 如何检查字符串是否包含数组中的所有单词?
发布时间:2020-12-17 04:27:00 所属栏目:百科 来源:网络整理
导读:我有一个字符串数组: 短语= [“感恩节快乐”,“吃很多食物”] 我有另一个单词单词:words = [“eat”,“food”] 如果字符串包含第二个数组中的所有单词,我想返回第一个数组中的条目. 所以,它应该看起来像这样: phrase.select {| x | x.include_all?(words
我有一个字符串数组:
短语= [“感恩节快乐”,“吃很多食物”] 我有另一个单词单词:words = [“eat”,“food”] 如果字符串包含第二个数组中的所有单词,我想返回第一个数组中的条目. 所以,它应该看起来像这样: 我应该创建include_all吗?函数迭代单词数组的每个成员并进行比较,还是有任何我缺少的内置方法? 解决方法
你实际上非常接近解决方案.
phrases.select do |phrase| words.all?{ |word| phrase.include? word } end 全部?方法在Enumerable上,如果块对集合中的每个项的计算结果为true,则返回true. 根据您对“包含”这个词的短语的定义,您可能想要定义自己的include_all?方法或String上的方法来确定匹配.包括?方法区分大小写,不关心字边界.如果这些不是您的要求,您可以使用Regexp代替包含?或定义自己的方法来包装该逻辑. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |