我希望看起来像这样。
my $str = 'axxxx';
my $replacement = 'string_begins_with_a';
$str =~ s/^a/$replacement/;
print "$str\n"; #should print 'string_begins_with_a'
答案 0 :(得分:2)
您需要在.*
之后添加a
来消费其余部分:
my $str = 'axxxx';
my $replacement = 'string_begins_with_a';
$str =~ s/^a.*/$replacement/;
print "$str\n"; #prints 'string_begins_with_a'
或者,您可以检查$str
是否以a
开头,然后为其分配$replacement
值:
$str = ($str =~ /^a/) ? $replacement : $str;
或只是
if ($str =~ /^a/) {
$str = $replacement;
}
答案 1 :(得分:1)
将整个字符串与^a.*
正则表达式匹配,然后使用替换字符串替换它。
$str =~ s/^a.*/$replacement/;
print "$str\n"; # would print 'string_begins_with_a'