Sun~sun~Flower's

〜ITエンジニアとして日々前向きに生きていくノウハウブログ〜

MENU

【Railsアプリケーション】指定した文字列の出現回数をカウントする方法

f:id:mTakata:20200424151008j:plain

こんにちは。

当ページにアクセスしてくださり、ありがとうございます。

 

この記事は、プログラミング言語「Ruby」のフレームワーク「Rails」についての記事になります。

問題

任意の文字列内の文字"code"が出現する回数を数えて、その数を出力するメソッドを作りましょう。


ただし、"code"の"d"の箇所は、任意の文字が使用可能です。


例えば"cope"と "cooe"はカウントできます。

 

ヒント:正規表現を使用してみましょう。

出力例:

count_coxe('aaacodebbb') → 1
count_coxe('codexxcode') → 2
count_coxe('cozexxcope') → 2

模範回答 

```Rails(Ruby)

1 def count_code(str)
puts str.scan(/co.e/).length
3 end
``` 

解説

scanメソッドを使用します。

 

scan(/co.e/)で、任意の文字列(変数strに格納された文字列)から、

 

前後の文字列(0文字以上)に挟まれた「code(dの文字は任意で、どんな文字列でも良い)」】を検索し、取得できます。

 

そしてlengthメソッドで、文字列を取得した回数を表示できます。

 

尚、(/co.e/)については、正規表現を使用しています。

 

正規表現については、次の記事が参考になると思います。

【関連記事】

www.sejuku.net

 

以上となります、参考になれば幸いです。

最後まで読んでいただき、ありがとうございました。