ruby - 在 Ruby 中扫描字符串数组以查找匹配项

标签 ruby arrays string

我有一个字符串数组,我想在数组中的每个字符串中搜索特定的单词(猫或狗),并能够按照它们出现的顺序查看结果。

例句

Strings[0] = "Subject family leans toward cats" 
Strings[1] = "Test subject prefers dogs"

我试过 String.each {|x| x.scan(/cat|dog)/} 但我只会得到结果中的最后一场比赛。我怎样才能正确地执行此操作以获得 puts $1 => cat puts $2 => dog?谢谢你的帮助

最佳答案

strings = [ "Subject family leans toward cats",
            "Test subject prefers dogs" ]
cat_and_dogs = strings.join.scan /cat|dog/
#=> ["cat", "dog"]

所以现在你可以放置它:

puts cats_and_dogs[0]
#=> "cat"
puts cats_and_dogs[1]
#=> "dog"
puts cats_and_dogs.join(" & ")
#=> "cat & dog"

关于ruby - 在 Ruby 中扫描字符串数组以查找匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5251877/

相关文章:

ruby-on-rails - rails 无法加载此类文件 -- mysql2/mysql2 (LoadError)

c++ - 将比特流捕获到字符串中

ruby-on-rails - 创建 link_to 以从 Paperclip gem 下载文件?

ruby 递归正则表达式

arrays - 整数与 boolean 数组 Swift 性能

javascript - 数组中指定的if语句条件

arrays - 数组的K个最大元素,排序算法

python - 替换字符串中的单引号 (') 字符

c++ - 使用 wcsncpy_s 复制字符串时缓冲区太小

mysql - 无法在带有 ruby​​ 版本 2.1.5 的 Windows 8.1 中安装 mysql-2.9.1.gem