2012-01-08 83 views
1

說我有一個名爲hello.txt的文件,其中包含「Hello World!」。 如果我想製作一個腳本來打開文件並閱讀內容(我知道該怎麼做),並在字符串中添加了內容,我該如何去做這件事?Perl字符串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 

雖然我無法想象這將如何有用。

正則表達式查找字符串或字符串末尾沒有跟隨的字符串的開始,使用負向預測,並用任何捕獲的字符替換所有匹配,然後是兩個句點。

+0

非常感謝。還有一個問題,說HelloWorld是全部附加的,這將輸出..在最後。有沒有辦法來防止這種情況? – 2012-01-08 21:29:58

+0

@DavidG:在我寫下原始答案之前,我錯過了那部分內容。這是避免與字符串結尾添加到我的修訂答案的負面預測。 – flesk 2012-01-08 21:36:23