Re: 想請教一下 perl 中的字串取代

看板Programming作者 (把我id還我阿......)時間18年前 (2007/09/19 07:47), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/12 (看更多)
※ 引述《dreamer.bbs@snow.ice.ntnu.edu.tw ( )》之銘言: : 小弟剛接觸 perl,有點問題想麻煩各位先進幫忙解答一下: : 我知道在 perl 中可以用 s/pattern/replacement/ 來取代字串, : 若原始字串是 "a/bcde/f", 若在程式碼中以 s/^a\/(.*)/c\1d/ 進行取代 : 結果會變成 "cbcde/fd" : 但是若我想把 pattern 跟 replacement 放在變數裡, : 比方說 : $pat = "^a\/(.*)"; : $rep = "c\1d"; : 然後以 s/$pat/$rep/ 來進行取代的操作, : 結果會得到 "c\1d" : 因為我需要由檔案中將 pattern 與 replacement 的規則讀進來, : 該如何做才能得到與第一種寫法一樣的結果呢? : 希望各位先進能撥空稍微指點一下,感恩! =) 下面的方法應該可以完成需求 不過我也想知道更簡潔的方法 my $pat = "^a\/(.*)"; my $str = "a/bcde/f"; if( $str =~ /$pat/){ my $rep = "c$1d"; $str =~ s/$pat/$rep/; print $str; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.145.65
文章代碼(AID): #16y6E1M5 (Programming)
討論串 (同標題文章)
文章代碼(AID): #16y6E1M5 (Programming)