呵呵,上面这个是错的,一时没考虑清楚,手快给发了。我再想想。
在 2011年2月25日 下午6:10,Achilles Xu <[email protected]>写道: > tr/loveLOVE/testTEST/; > > 在 2011年2月25日 下午3:22,Kermit <[email protected]>写道: > > On Fri, 2011-02-25 at 15:11 +0800, Achilles Xu wrote: >> > s/love/test/i; >> > >> > 最后的i表示不区分大小写 >> >> 那样会把所有的大小写无关的love都换成小写的test, 我其实想要的是这样的效 >> 果: >> >> $loveStr = q/love LOVE Love lOVe LOve loVE/; >> print $loveStr."\n"; >> foreach my $en ($loveStr =~ m/love/ig) { >> if($en eq uc($en)) { >> $loveStr =~ s/$en/TEST/g; >> }elsif(substr($en,0,1) eq uc(substr($en,0,1))) { >> $loveStr =~ s/$en/Test/g; >> }else { >> $loveStr =~ s/$en/test/g; >> } >> } >> print $loveStr."\n"; >> >> 运行输出: >> love LOVE Love lOVe LOve loVE >> test TEST Test test Test test >> >> 只不过上面写法太罗嗦,不知有没有更优雅,更Perl的写法? >> >> Thanks >> B.R >> Kermit >> >> > >> > 在 2011年2月25日 下午2:17,Kermit <[email protected]>写道: >> > Dear all, >> > >> > $loveStr = q/love Love LOVE lOVe LOVe/; >> > >> > 如果在emacs中编辑C/C++代码时,用"M-x replace-string love >> > test", >> > 就会从 >> > q/love Love LOVE lOVe LOVe/; >> > 变为: >> > q/test Test TEST test Test/; >> > >> > 就是说能够识别开头的大写和全大写。这在Perl中有没有什么方式快捷 >> > 实现? >> > >> > Thanks >> > B.R >> > Kermit >> > >> > >> > >> > >> > >> > -- >> > 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers >> > 讨论组”论坛。 >> > 要向此网上论坛发帖,请发送电子邮件至 >> > [email protected]。 >> > 要取消订阅此网上论坛,请发送电子邮件至 perlchina >> > [email protected]。 >> > 若有更多问题,请通过 >> > http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论 >> > 坛。 >> > >> > >> > >> > >> > -- >> > --------------------------- >> > Achilles Xu >> > >> > >> > >> > -- >> > 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论 >> > 组”论坛。 >> > 要向此网上论坛发帖,请发送电子邮件至 [email protected]。 >> > 要取消订阅此网上论坛,请发送电子邮件至 perlchina >> > [email protected]。 >> > 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN >> > 访问此网上论坛。 >> >> >> -- >> 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。 >> 要向此网上论坛发帖,请发送电子邮件至 [email protected]。 >> 要取消订阅此网上论坛,请发送电子邮件至 [email protected]。 >> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。 >> >> > > > -- > --------------------------- > Achilles Xu > > -- --------------------------- Achilles Xu -- 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。 要向此网上论坛发帖,请发送电子邮件至 [email protected]。 要取消订阅此网上论坛,请发送电子邮件至 [email protected]。 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
