[Perl入門に戻る]
(perlの第1歩)
(出力の工夫)
(ファイルの読み込みと行の処理)
(ファイルの入出力--補足)
(文字列の処理)
○ 文字列の処理
「ファイルの読み込みと行の処理」で、
文字列の「パターンマッチ」について学びました。
この節では、その補足および文字列の「置換」について学びます。
● パターンマッチ
文字列が指定したパターンにマッチするかどうかを調べ、マッチすれば真(1)、
マッチしなければ偽(0)を返します。
基本形: 式(文字列) =~ m/パターン/オプション
(オプション:io など)
- =~で文字列を指定しなければ $_ が対象となる。
- パターンの区切り文字として/を使うときは、mを省略可能。
- mを省略しなければアルファベットや記号を区切り文字にできる。
/自身を含むパターンを指定するときに、
/をエスケープしなくてもよいので便利。
例: if ( m#^/usr/local/bin# ) { print; }
- パターンの後ろに i を指定すれば、アルファベットの大文字小文字を無視して検索。
例えば m/bcd/i とすると、abcde も aBcDe もマッチする。
- パターンの中に変数があり、しかもその変数の中身がパターン・マッチを繰り返し行う過程で不変であるならば、オプションとして o を指定すると、
実行速度が早くなる。
● 置換(1) -- Substitution
文字列中に指定したパターンを探し、マッチする部分文字列を指定した文字列で置換えます。置換文字列の個数を返します。
基本形: $variable =~ s/パターン/置換文字列/オプション
(オプション:gioなど)
- =~で文字列を指定しなければ $_ が対象となる。
- オプションとして g を指定すれば、マッチする部分すべてが(左から順に)置換される。指定しなければ最初のマッチのみ置換。
- i や o はマッチングの場合と同様。
使用例:$str =~ s/^\s+//; 先頭の空白文字を削除
● 置換(2) -- Translation
文字列中の指定した文字を探し、指定した文字で置換えます。
置換の個数を返します。
基本形: $variable =~ tr/検索文字リスト/置換文字リスト/
- =~で文字列を指定しなければ $_ が対象となる。
- リストには A-Z のような表現を使うことができる。
使用例:$str =~ tr/A-Z/a-z/;大文字を小文字に変換
[Perl入門に戻る]