呵呵,上面这个是错的,一时没考虑清楚,手快给发了。我再想想。

在 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 访问此网上论坛。

回复