perl 配列内を文字検索

Quick Edit Pencil

[perl] 配列から条件にマッチする要素を取り出す

 配列から条件にマッチする要素を取り出す

「配列の要素を検索しある条件にマッチする要素だけ取り出す」こんな時に先ず思い浮かぶのが、配列全ての要素を順に見ていき、条件にマッチする要素を退避しておく等の方法が考えられます。

 

しかし こんなに煩わしい事をしなくても、perlでは grepという 関数を使用すれば、配列の中からある条件にマッチする要素だけを取得する事が出来ます。 非常に便利なものです。



grep は、第一引数で正規表現を使用して条件を指定し、 第二引数で検索対象となる配列を指定します。 戻り値としてリスト値を指定すればマッチした全ての要素が、スカラ値を指定すればマッチした件数を取得する事が出来ます。



[数値を含む要素のみ取り出す]

@array = ('win95', 'win98', 'win2000', winXP,'mac', 'linux');

@grepedarray = grep(/\d/,@array); 

# ('win95', 'win98', 'win2000')  が取り出される 




[winから始まる要素を取り出す]

@array = ('win95', 'win98', 'win2000', winXP, 'mac', 'linux');

@grepedarray = grep(/^win/,@array); 

# ('win95', 'win98', 'win2000', winXP)  が取り出される 




[winから始まる要素の件数をカウント]

@array = ('win95', 'win98', 'win2000', winXP, 'mac', 'linux');

$cnt = grep(/^win/,@array); 

# 4  が返される 

このブログの人気の投稿

PowerShellのGetDetailsOf メソッドでプロパティの詳細情報のID番号と項目名を列挙します

PowerShellで複数ファイルのプロパティを取得する方法(準備編)

ヤバい!JAPANNEXT WQHD対応 27型ワイド液晶ディスプレイ「JN-IPS2716WQHD」を注文してみた!!!

書字方向 横書方向変換スクリプト 左書きから右書きへ(コピペ用途)

Blender: 辺の長さを数値で指定するアドオン

簡単 らじるらじるの聴き逃し番組、NHKラジオのストリーミングを保存・ダウンロードする方法 2019