作者kornelius (Kornelius)
看板Programming
標題Re: 想請教一下 perl 中的字串取代
時間Sat Sep 22 01:13:14 2007
的確,若只是單純使用 s/foo/$1/ee 是可
不過若是 c$1d 這類,則不屬 statement,所以 double eval 無法使用
不過,你想得到不用整塊 eval 的方法嗎? @@?
※ 引述《LiloHuang (相見不如懷念)》之銘言:
: ※ 引述《kornelius (Kornelius)》之銘言:
: 不曉得你是否可以以下面的測資達到跟我一樣的輸出
: my $str = 'a/bcde/f'; # 原始字串
: my $pattern = '^a\/(.*)'; # 比對樣式
: my $replace = 'c$1d'; # 取代字串
: my $runtime = "\$str =~ s/$pattern/$replace/";
: eval $runtime;
: print $str;
: 也就是 output 為 cbcde/fd
: 你使用的 double eval 方式能夠正確執行後面的 $replace 嗎 @@"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.223.100.79
→ LiloHuang:不用 eval 的方法很多種 為求簡潔我才用 61.230.172.181 09/22 01:13
→ LiloHuang:呵呵...純粹...為求簡潔 好理解 61.230.172.181 09/22 01:14
→ LiloHuang:類似的東西幾年前perlmonks上有人討論過 61.230.172.181 09/22 01:15
→ LiloHuang:不過年代久遠我自己也忘記了...還是謝謝 61.230.172.181 09/22 01:15