如何打印范围内的字母?

时间:2013-06-28 14:07:26

标签: ruby string

如何打印范围内的字母?

例如,如果我有一个单词'ruby',我希望只有当字母落在-h等范围内时才能将字母打印在另一个字母下面。

6 个答案:

答案 0 :(得分:2)

我会用:

puts 'ruby'.scan(/[a-h]/)
# >> b

或者:

puts 'ruby'.chars.select{ |c| c[/[a-h]/] }
# >> b

scan非常适合从字符串中挑选出所有匹配的模式。

答案 1 :(得分:1)

"ruby".chars.each do |x|
   if ('a'..'h').include?(x)
      print x
    end
end

答案 2 :(得分:1)

"ruby".each_char {|c| puts c if [*'a'..'h'].include? c}

答案 3 :(得分:1)

puts 'ruby'.chars.select{|c| ('a'..'h').cover?(c)}.join("\n")

答案 4 :(得分:1)

puts "rubyruby".chars.grep('a'..'h').join("\n")

答案 5 :(得分:0)

有很多方法可以做到这一点,例如

'ruby'.tr("^a-h",'')

'ruby'.gsub(/[^a-h]/,'')

我可能会使用gsub - 我永远不会记得tr理解哪种语法