文字列内の文字列を変更するPerl
Perlでは、正規表現と置換関数を使用して文字列内の文字を置換できます。
文字列の中の「a」という文字を「b」に置換するサンプルコードは次のとおりです
my $str = "abcde";
$str =~ s/a/b/g;
print $str;
出力が「bbcde」となります。
上記のコードでは、=~演算子で正規表現に文字列を結合し、s/a/b/gを使用して文字列内の文字を置換しています。この場合、sは置換操作、aは置換する文字、bは置換後の文字、gはグローバル置換、つまり文字列内のすべてのマッチする文字を置換することを表します。
正規表現の文字クラスを使用して、複数の文字を置換することができます。例えば、下記のコードは文字列内の小文字をすべて大文字に置換します。
my $str = "abcde";
$str =~ s/[a-z]/\U$&/g;
print $str;
アウトプットの結果は「ABCDE」である。
上のコードでは、文字クラス[a-z]が小文字のアルファベットを全てマッチしていて、\U$&がマッチした文字を大文字に変換しています。