On 17/03/2016 17:25, Charles T. Smith wrote:
On Thu, 17 Mar 2016 19:08:58 +0200, Marko Rauhamaa wrote:
my $str = "I have a dream";
my $find = "have";
my $replace = "had";
$find = quotemeta $find; # escape regex metachars if present
$str =~ s/$find/$replace/g;
print $str;
with Python:
print("I have a dream".replace("have", "had"))
Uh... that perl is way over my head. I admit though, that perl's
powerful substitute command is also clumsy. The best I can do
right now is:
$v = "I have a dream\n";
$v =~ s/have/had/;
print $v
I was going to suggest just using a function. But never having coded in
Perl before, I wasn't expecting something this ugly:
sub replacewith{
$s = $_[0];
$t = $_[1];
$u = $_[2];
$s =~ s/$t/$u/;
return $s;
}
Although once done, the original task now looks a proper language:
print (replacewith("I have a dream","have","had"));
--
Bartc
--
https://mail.python.org/mailman/listinfo/python-list