Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

String#scanをつかってルイズコピペから「ルイズ」出現回数を抽出する

Stringにはscanというフレーズ抽出メソッドが備わっています。
一致条件には正規表現を使う事ができるため、数値だけ…みたいな用途にも使えます。
結果は配列で帰ってくるので便利です。
配列に切り分けてからブロックでGrepとか芋臭いことしなくて良いんだぞ、俺。

実行例

頭のネジが擦り切れたお友達の間で話題のルイズコピペ中に「ルイズ」が何回でてくるか調べてみましょう。
本文は
ルイズコピペ (るいずこぴぺ)とは【ピクシブ百科事典】のTOEIC980点さんバージョンを頂いてきました。

Louise! Louise! Louiseaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhhhhhhhhhh!!!
yarghh…uh…aaahah-! AaAAAAA!!! LOUISELOUISELOUISEaaaaAAAAaaa!!!
Ae…*sniff*sniff*! *sniff*sniff*! sssssaaahsssssaaah.. smells good…. *sniff*
 *gasp*! I can haz sniffsniff pink blonde hair de Louise Francoise?! *sniff*sniff*! Aah!
No! I want fluffing! fluff! fluff! Hair hair fluff fluff! Scratch scratch fluff fluff… Kyunkyunnkyui!!
Louise-tan was so kawaii in vol.12 of the novels!! AaaAA…AAA…AhAaAAA!! FaaAAAnng!
Congrats on the 2nd season of the anime Louise-tan! AaAAAAA! So cute! Louise-tan! Kawaii!AaaAAA!
2nd volume of the comics were grea…nnNrAGGggghHH!! Nyaaaaaargh!! UGyaaaAAAAA!!!
Nnnnnnyyyyuuuurrrrgggghhhh!!! Comics…………………. AREN’T reality!!! ?…what about the novels and the anime….
LOUISE I S N’ T R E A L????? AAAAArgggghhHH!!! Uwaaaaaaannn!!
NononononoNONONONONO! EEeeeeaAAAA!!!! HGGGGrrrrruuyynnnnnNN!!! Halkeginiaaaaaa!!
You! BASTARDS! I’m quitting! I’m QUITTING REALIT…Y….huh!? She’s…looking? Louise-chan on the cover is looking at me?
Louise on the cover IS looking at me! Louise… at me! Louise-chan in the pictures in the book are looking at me!!
Louise-chan in the anime is talking to me!!! Phew… reality ain’t so bad after all!
Yessssss! Wheeeee!! YEAH!!! I have Louise!! I’ve done it Ketty, I can do it alone!!!
C..comic… Louise LOUISE-CHAAAaaaaaAAaaAAAN!!!!!!!! HyaaAAAaaaAaaaAAaA!!!!!
Ahahaah…ahahaaahhhhahaAnn! Si, Siesta!! HenriettaaaAAAAAAaAA!!! TabithaaAAAAA!!
u….uuuu..*sniff*sniff*uuuUUU!!! May my love reach Louise!! May my love reach Louise of Halkeginia!

str.scan(/(Louise)+/i).size
#=> 19

19個と出ました。目Grepでも確認したので間違いありません(白目*1

*1:実は最初iオプションがなかったため中々一致しませんでした