2012-01-08 8 views
1

「Hello World!」を含むhello.txtというファイルがあります。 ファイルを開いて内容を読む(私はそれを行う方法を知っています)と文字列に物を追加するスクリプトを作っていたら、どうしたらいいですか?Perl String Modyifing

たとえば、Hello Worldでは、文字列/コンテンツの先頭に「..」が挿入され、最後に2文字ごとに挿入されます。また、内容が常に「Hello World」であるとは限りません。

答えて

2

すでにファイルから読み取る方法を知っているので、私はそれはあなたの唯一の本当の問題は、任意の文字列のすべての2つの文字の後に..を追加する方法です取る:

my $string = "Hello World"; 
$string =~ s/^|(..)(?!$)/$1../g; 
print "$string\n"; 

出力:

..He..ll..o ..Wo..rl..d 

私はそれがどんなに役立つだろうと想像することはできませんが。

正規表現は、ネガティブルックアヘッドを使用して文字列の最後に続く文字列または2文字の先頭を探し、すべての一致をキャプチャされた文字と2ピリオドで置き換えます。

+0

ありがとうございます。もう1つの質問、HelloWorldがすべて添付されていると、これが最後に出力されます。これを防ぐ方法はありますか? –

+0

@DavidG:元の答えを書く前に、私はその部分を逃しました。私の修正された答えに追加された文字列の終わりの否定的な先読みで回避されます。 – flesk