2016-11-16 4 views
2

私はこのように見ていきたいと思います。Perlのregexを使って文字列全体を置換してください

my $str = 'axxxx'; 
my $replacement = 'string_begins_with_a'; 
$str =~ s/^a.*/$replacement/; 
print "$str\n"; #prints 'string_begins_with_a' 

それとも、あなただけの$straで始まるかどうかを確認し、それに$replacement値を割り当てることがあります。あなただけのa.*を追加することにより、行の残りの部分を消費する必要が

my $str = 'axxxx'; 

my $replacement = 'string_begins_with_a'; 

$str =~ s/^a/$replacement/; 

print "$str\n"; #should print 'string_begins_with_a' 

答えて

2

​​

か、単に

if ($str =~ /^a/) { 
    $str = $replacement; 
} 
+0

ありがとう、この回答も役に立ちます。 – criz

+0

申し訳ありませんが、私はあなたが30分早くあなたの投稿をしたことを知らなかった。 – criz

1

文字列全体を^a.*正規表現と一致させ、置換文字列を使用して置き換えます。

$str =~ s/^a.*/$replacement/; 
print "$str\n"; # would print 'string_begins_with_a' 
+0

ありがとう、これは私が探していたものです! – criz

+0

私は自分の答えからコピーしたとは言えませんが、それと同じ解決策が含まれています。私は、SOに答えが表示されていないことが分かっています。 –

関連する問題