如何在Ruby中查找数组中的特定字符

时间:2012-09-12 14:19:33

标签: ruby arrays search include character

我正在尝试在数组中查找特定字符,但用户正在输入此字符。

我先命令数组,然后让用户输入一个特定的字符然后我应该看看该字符是否存在于该数组的任何单词中

出于某种原因,如果在检查字符的存在时,我“硬编码”一个字符,它可以工作,但如果我试图查找用户输入的字符,它就不起作用...

list = [ 'Mom' , 'Dad' , 'Brother' , 'Sister' ]
puts ("Enter the character you would like to find");
character = gets
for i in 0..(list.length - 1)
if (list[i].include?(#{character}))
puts ("Character #{character} found in the word #{list[i]}");
end

非常感谢!

2 个答案:

答案 0 :(得分:2)

这是因为gets在字符串的末尾添加了\n。使用gets.chomp!,这样就可以摆脱最后一个字符。

答案 1 :(得分:1)

您应该使用“chomp”来摆脱输入行末尾的回车符。此外,您还可以压缩代码。

list = [ 'Mom' , 'Dad' , 'Brother' , 'Sister' ]
puts ("Enter the character you would like to find");
character = gets.chomp
list.each do |e|
  puts "Character #{character} found in the word #{e}" if e.include?(character)
end