任意の文字列から指定文字列を数える方法 scan Ruby
任意の文字列で
"hi"がいくつあるか数えてその数を出力するメソッドを作ります。
出力例:
count_hi('abc hi ho') → 1
count_hi('ABChi hi') → 2
count_hi('hihi') → 2
def cunt_hi(str) puts str.scan("hi").length end puts "hiの数は" hi = gets.to_s cunt_hi(hi)
変数strに格納された文字列に"hi"がいくつあるか数える為、scanメソッドを使用します。
"foobar".scan(/../) # => ["fo", "ob", "ar"]
"foobar".scan("o") # => ["o", "o"]
"foobarbazfoobarbaz".scan(/ba./) # => ["bar", "baz", "bar", "baz"]
"foobar".scan(/(.)/) # => [["f"], ["o"], ["o"], ["b"], ["a"], ["r"]]
"foobarbazfoobarbaz".scan(/(ba)(.)/) # => [["ba", "r"], ["ba", "z"], ["ba", "r"], ["ba", "z"]]
あとは配列の中の要素の数をlengthメソッドで数えます。