Jump to content

Selectively replace multiple instances of a character within a string: Difference between revisions

m
putting Lambdatalk at the right place, after Julia and before Perl
(→‎{{header|Lambdatalk}}: adding a better one)
m (putting Lambdatalk at the right place, after Julia and before Perl)
Line 147:
println("abracadabra -> ", trstring("abracadabra", rep))
</lang>{{out}}Same as Perl.
 
=={{header|Perl}}==
<lang perl>use strict;
use warnings;
use feature 'say';
 
sub transmogrify {
my($str, %sub) = @_;
for my $l (keys %sub) {
$str =~ s/$l/$_/ for split '', $sub{$l};
$str =~ s/_/$l/g;
}
$str
 
my $word = 'abracadabra';
say "$word -> " . transmogrify $word, 'a' => 'AB_CD', 'r' => '_F', 'b' => 'E';</lang>
{{out}}
<pre>abracadabra -> AErBcadCbFD</pre>
 
=={{header|Lambdatalk}}==
Line 273 ⟶ 254:
(AErBcadCbFD)
</lang>
 
=={{header|Perl}}==
<lang perl>use strict;
use warnings;
use feature 'say';
 
sub transmogrify {
my($str, %sub) = @_;
for my $l (keys %sub) {
$str =~ s/$l/$_/ for split '', $sub{$l};
$str =~ s/_/$l/g;
}
$str
 
my $word = 'abracadabra';
say "$word -> " . transmogrify $word, 'a' => 'AB_CD', 'r' => '_F', 'b' => 'E';</lang>
{{out}}
<pre>abracadabra -> AErBcadCbFD</pre>
 
 
 
=={{header|Phix}}==
Cookies help us deliver our services. By using our services, you agree to our use of cookies.