[topic] すべて置換
Posted feedbacks - Perl
Perlではいくつかやり方がありますが、単純に1文字単位の置換では、tr/~/~/ を使えます。 また、文字列の一部を置き換えるのに substrを左辺値に使う方法もあります。 もちろん正規表現で、s/~/~/g で全て置換を行えます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | # tr
$date = "2007-10-30";
$date =~ tr#-#/#;
print $date, "\n";
# substr
sub replace {
my ($str, $target, $replace) = @_;
for (my $i = index($str, $target); $i >= 0; $i = index($str, $target, $i + 1)) {
substr($str, $i, length($target)) = $replace;
}
$str;
}
$date = "2007-10-30";
print replace($date, "-", "/"), "\n";
# s///g
$date = "2007-10-30";
$date =~ s/\d+/*/g;
print $date, "\n";
|



にしお
#4221()
Rating0/0=0.00
文字列中のマッチする部分をすべて置換する方法について。
[ reply ]