構文 |
|
tr/検索文字列/置き換え文字列/オプション
|
オプション |
c |
検索文字列に含まれない文字を探します。 |
d |
検索文字列に対応する置き換え文字列が無い場合にその文字を削除します。 |
s |
置き換えた結果,同じ文字が連続した場合に連続したものを1文字にします。 |
説明
- 検索文字列に含まれる文字を,対応する置き換え文字列に変換します。
- y///を使っても同じことができます。
使用例
変数$strの文字のうち123をそれぞれABCに置換する
#!/usr/bin/perl
use strict;
use warnings;
my $str = '1a2b3c4d';
# 1→A 2→B 3→C に置換する
$str =~ tr/123/ABC/;
print $str, "\n"; # AaBbCc4d
変数$strの小文字を大文字に置換する
#!/usr/bin/perl
use strict;
use warnings;
my $str = "Let's enjoy Perl!";
$str =~ tr/a-z/A-Z/;
print $str, "\n"; # LET'S ENJOY PERL!
変数$strのアルファベットの数を数える
#!/usr/bin/perl
use strict;
use warnings;
my $str = "Let's enjoy Perl!";
my $count = ($str =~ tr/a-zA-Z//);
print $count, "\n"; # 13
変数$strアルファベット以外の数を数える
#!/usr/bin/perl
use strict;
use warnings;
my $str = "Let's enjoy Perl!";
my $count = ($str =~ tr/a-zA-Z//c);
# OPTIONにcを指定
print $count, "\n"; # 4
変数$strアルファベットを削除する
#!/usr/bin/perl
use strict;
use warnings;
my $str = "Let's enjoy Perl!";
$str =~ tr/a-zA-Z//d;
# OPTIONにdを指定
print $str, "\n"; # ' !
変数$str連続した空白を一つにする
#!/usr/bin/perl
use strict;
use warnings;
my $str = "Let's enjoy Perl!";
$str =~ tr/ //s;
# OPTIONにsを指定
print $str, "\n"; # Let's enjoy Perl!